2013-06-23 48 views
0

Hartl的Rails書6.3.5。試圖插入某人到數據庫,這個錯誤彈出。Railstutorial 6.3.5不能批量分配受保護的屬性:password,password_confirmation

我做了一些研究,我有這樣的用戶模式:

attr_accessible :email, :name, :password, :password_confirmation 
has_secure_password 

我覺得這是我的模型有問題。因爲這是用戶的樣子:

#<User id: nil, name: "Da", email: "[email protected]", created_at: nil, updated_at: nil, password_digest: nil> 

所以基本上當我試試這個:

User.create(name: "Da", email: "[email protected]", password: "da", password_confirmation: "da") 

我得到的無法大規模指派保護的屬性:密碼,password_confirmation錯誤。

怎麼辦?

+0

當你說「這是用戶的樣子」時,如果你在創建時出現錯誤,你會在哪裏看到?你的'attr_accessible'語句看起來很好,'User'實例中的字段看起來也是正確的。你能分享你的完整的錯誤輸出,也許你的完整'User'類定義? –

回答

0

沒關係我解決它了。我剛剛重新啓動了Ruby控制檯,這導致了另一個錯誤(我插入的條目一直在回滾)。那麼我插入了無效的名字,所以我糾正了它。現在一切正常。

0

您需要添加,

attr_accessible :password, :password_confirmation 

到模型

+0

謝謝,但我已經解決了。我剛剛重新啓動了Ruby控制檯,這導致了另一個錯誤(我插入的條目一直在回滾)。那麼我插入了無效的名字,所以我糾正了它。現在一切正常。 –

+0

很高興知道你自己做了:) –

相關問題