0
我正在尋找一個舒適的方式來創建一個recoursive工廠。 在我的應用程序用戶有很多軟件,我想創建一個「一槍」用戶與n相關的軟件。 這是我的代碼:工廠女孩回憶工廠
FactoryGirl.define do
factory :user do |f|
f.sequence(:username) { |n| "user#{n}" }
end
trait :with_software do
ignore do
n 3
end
after :create do |user, evaluator|
FactoryGirl.create_list :software, evaluator.n, :user => user
end
,而軟件的定義如下
factory :software do |f|
f.sequence(:name) { |n| "software#{n}" }
f.association :user
end
當我位數:
user1 = FactoryGirl.create(:user, :with_software)
FactoryGirls創建了3個相關的軟件項目的用戶。問題是軟件名稱始終是「軟件#{n}」。 如何指定一個唯一的軟件名稱:user.name +「software#{n}」?
我從create_list收到以下錯誤:語法錯誤,意外的'\ n',期待tASSOC。它令我瘋狂 –
它似乎不喜歡create_list中的行結尾,並且希望看到「=>」。您也可以嘗試在不使用create_list時發生的情況,但是使用n次然後FactoryGirl.create .. – Kristiina
相同的錯誤:語法錯誤,意外的'\ n',期待tASSOC(SyntaxError)。錯誤與:with_matching_name選項有關。感謝您的可評估幫助 –