gpt4 book ai didi

ruby-on-rails - User模型是否需要:password and :password_confirmation to be set as attr_accesible in authlogic?

转载 作者:行者123 更新时间:2023-12-01 13:01:43 24 4
gpt4 key购买 nike

我第一次尝试设置 Authlogic,但我很困惑。

我已经按照 authlogic_example 中的示例进行了设置代码但是它似乎没有运行:

u = User.new(:password=>'testpass',
:password_confirmation => 'testpass',
:email => 'test@test.com')
=> #<User id: nil, email: "test@test.com", created_at: nil, updated_at: nil,
first_name: nil, last_name: nil, crypted_password: nil,
password_salt: nil, persistence_token: nil>
>> u.valid?
=> false
>> u.errors
=> #< OrderedHash {:password=>["is too short (minimum is 4 characters)"],
:password_confirmation=>["is too short
(minimum is 4 characters)"]}>

看起来 :password 和 :password_confirmation 根本没有被设置,所以在 User 类中我创建了 :password 和 :password_confirmation 可访问属性:

class User < ActiveRecord::Base
acts_as_authentic
attr_accessible :password, :password_confirmation # changed code
end

有效:

>> u = User.new(:password=>'testpass',:password_confirmation => 'testpass', 
:email => 'test@test.com')
=> #<User id: nil, email: "test@test.com", created_at: nil, updated_at: nil,
first_name: nil, last_name: nil,
crypted_password: "446edcbee34254ea83b8d469baef2dc34d723e710faf22efb97...",
password_salt: "hZFVKUo66meyrZ97Gb",
persistence_token: "b469fefd82a91683bf51b5eb9dbc15563b569a93ce973a42595...">
>> u.valid?
=> true

虽然这有效,但我担心我做错了什么,因为在 authlogic_example 中,用户中没有设置 attr_accessible:

# Authlogic_example code
class User < ActiveRecord::Base
acts_as_authentic
end

为什么 authlogic_example 代码在没有明确设置属性可访问的情况下工作,而我的却没有?

最佳答案

我突然意识到是什么导致了我的问题。

我之前在配置文件中更改了 mass_assignment 的默认设置,以强制所有属性都受到保护,除非另有声明。

回想起来这是一个明显的错误,但希望这也能为其他人节省一些时间

关于ruby-on-rails - User模型是否需要:password and :password_confirmation to be set as attr_accesible in authlogic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com