所以我有两个型号。一个小船has_many
用户和一个停靠belongs_to
用户。此外,dock
有一个boat
。在Dock工厂中,我正在尝试为该dock创建一个用户,并将其传递给boat以创建其用户数组。作为附加要求,我需要船的工厂将temp_user作为可选参数。以下是我的尝试。
factory :dock do
temp = user
boat temp
end
factory :boat do | temp_user |
users { [ temp_user || FactoryGirlDefaultMethods.default_user ] }
....
end
这似乎导致NoMethodError: undefined method 'read_uploader' for nil:NilClass
。我不知道如何调试它,或如何纠正它。任何帮助将不胜感激。
更新的
该错误来自一个无关的问题,但没有为boat
创建dock
,更不用说与正确的用户。
答案 0 :(得分:2)
通过执行解决
factory :dock do
user
boat { build :boat, users: [user] }
end
factory :boat do
....
end