工厂不会设置密码和密码确认
我的 User.rb 具有:
attr_accessor :password, :password_confirmation
attr_accessible :password, :password_confirmation
用户的我的 plant_girl 是:
Factory.define :user do |u|
u.password "my_password"
u.password_confirmation "my_password"
end
保存对象时,我的 User.rb 设置 crypto_password 字段。
似乎我在工厂中设置的值(密码)根本没有被设置。
在我的测试中我必须做:
it "should ...." do
user = Factory(:user)
user.password = "abc123"
end
为什么会这样?
我将密码属性既作为访问者又作为可访问的。
有什么冲突吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为,上述问题在于这些
attr_accessor
字段未保留在数据库中,因此在factories.rb
中声明时它们会“丢失”。解决方案是在从工厂创建新对象时显式设置它们:另请参阅:
The problem with the above, I believe, is that those
attr_accessor
fields are not persisted in the database, so they are 'lost' when declared infactories.rb
. The solution for that is to set them explicitly when creating a new object from factory:Also see: