Factory不会设置密码和password_confirmation

时间:2011-06-07 09:50:28

标签: ruby-on-rails factory-bot

我的User.rb有:

attr_accessor :password, :password_confirmation
attr_accessible :password, :password_confirmation

用户的我的factory_girl是:

Factory.define :user do |u|

  u.password "my_password"
  u.password_confirmation "my_password"

end

My User.rb在保存对象时设置encrypted_pa​​ssword字段。

似乎我在工厂设置的值(密码)根本没有设置。

在我的测试中,我必须这样做:

it "should ...." do
  user = Factory(:user)

  user.password = "abc123"

end

为什么会出现这种情况?

我将密码属性作为访问者和可访问的。

是否存在冲突?

1 个答案:

答案 0 :(得分:2)

我认为,上述问题是这些attr_accessor字段未在数据库中保留,因此在factories.rb中声明时它们会“丢失”。解决方案是在从工厂创建新对象时明确设置它们:

user = Factory(:user, :password => '123')

另见:

相关问题