我一直在玩弄has_secure_password,並且遇到了問題。我的用戶控制器中的創建操作測試不是
正在工作
通過。所以我開始在控制檯中玩耍,並意識到密碼沒有被轉換爲has並保存在password_digest字段中。Rails 3.1.1 has_secure_password摘要不能爲空
當我嘗試從控制檯創建用戶時,會發生以下情況。
irb(main):031:0> u = User.new(:email => "[email protected]", :password => "test", :password_confirmation => "test")
=> #<User id: nil, email: "[email protected]", password_digest: nil, created_at: nil, updated_at: nil>
irb(main):032:0> u.save
=> false
irb(main):033:0> u.errors
=> #<ActiveModel::Errors:0x00000100cde500 @base=#<User id: nil, email: "[email protected]", password_digest: nil, created_at: nil, updated_at: nil>, @messages={:password_digest=>["can't be blank"]}>
我不知道我在做什麼錯。它看起來像password_digest屬性永遠不會被分配。如果我創建一個沒有屬性的用戶對象並單獨分配每個屬性,我會得到相同的錯誤。
這裏是我的模型
class User < ActiveRecord::Base
has_secure_password
attr_accessible :email, :password, :password_confirmation
end
感謝提前的幫助。
亞歷克斯·謝諾伊