我们的 rails 应用程序中有 user 和 user_level 。用户 has_many user_levels。我们构建 FactoryGirl 数据集如下:
factory :user_level do
position "admin"
user
end
factory :user do
login 'testuser'
password "password1"
#user_levels
after(:build) do |user|
user.user_levels << FactoryGirl.build(:user_level, :user => user)
end
end
问题是如何将user_level中的位置重新设置为sales?以下没有工作:
ul = FactoryGirl.attributes_for(:user_level, :position => 'admin')
user = FactoryGirl.create(:user, :login => 'test', :password => 'password',
:user_levels => ul)
错误是“未定义的方法'每个'”。替换attributes_for
为build
会产生相同的错误。为工厂重置 user_level 位置的正确方法是什么?谢谢。