0
我有以下工廠:RSpec的出廠女孩
Factory.define :producer, :class => User do |f|
f.sequence(:email) { |n| "producer_#{n}@shit.com" }
f.password "foobar"
f.password_confirmation "foobar"
f.role "producer"
end
Factory.define :business do |f|
f.sequence(:name) { |n| "business_#{n}" }
f.association(:producer, :factory => :producer)
end
Factory.define :deal do |d|
d.sequence(:title) { |n| "deal_#{n}" }
d.sequence(:desc) { |n| "deal_desc_#{n}" }
d.cap "50"
d.rate "2"
d.start Date.today - 1 # This is the date where you put in db
d.end Date.today + 7
d.association :business
end
現在
,當我做到以下幾點:
before(:each) do
@consumer = test_sign_in(Factory(:consumer))
@deal = Factory(:deal)
end
我得到一個錯誤:
Failure/Error: @deal = Factory(:deal)
NoMethodError:
undefined method `producer=' for #<Business:0x007fb494290090>
# ./deals_controller_spec.rb:15:in `block (4 levels) in <top (required)>
(第15行指的是@deal = Factory(:deal)
)
有誰知道爲什麼?我對工廠女孩很新,我似乎無法找到解釋關聯和序列的文檔。
感謝您的回答,但我仍然得到同樣的錯誤,儘管有所改變。你知道爲什麼嗎? (我更新了主要問題) – disappearedng
mmmm,並且你嘗試了'after_build'方法嗎? – apneadiving
是的,我也是。你知道什麼啓發了製片人=在工廠的任何地方? – disappearedng