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
今、私は次の操作を実行したとき:
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行目:
before(:each) do
@consumer = test_sign_in(Factory(:consumer))
@deal = Factory(:deal)
end
私はエラーを取得しています@deal = Factory(:deal)
を参照)
なぜ誰が知っていますか?私は工場の女の子にとっては非常に新しいので、関連性とシーケンスをよく説明したドキュメンテーションを見つけることができないようです。
回答ありがとうございますが、変更にもかかわらず同じエラーが発生しています。なぜなのかご存知ですか? (私も主な質問を更新しました) – disappearedng
mmmm、あなたは 'after_build'メソッドを試しましたか? – apneadiving
はい私は同様にしました。工場のどこにでもプロデューサーにインスピレーションを与えたものは分かりますか? – disappearedng