j'ai les usines suivantes:rspec avec une fille usine
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
maintenant, quand je fais ce qui suit:
before(:each) do
@consumer = test_sign_in(Factory(:consumer))
@deal = Factory(:deal)
end
Je reçois une erreur:
Failure/Error: @deal = Factory(:deal)
NoMethodError:
undefined method `producer=' for #<Business:0x007fb494290090>
# ./deals_controller_spec.rb:15:in `block (4 levels) in <top (required)>
(ligne 15 se réfère à @deal = Factory(:deal)
)
Est-ce que quelqu'un sait pourquoi? Je suis très nouveau à l'usine fille et je n'arrive pas à trouver la documentation expliquant l'association et la séquence très bien.
Merci pour la réponse, mais je reçois toujours la même erreur malgré le changement. est-ce que tu sais pourquoi? (J'ai également mis à jour la question principale) – disappearedng
mmmm, et avez-vous essayé la méthode 'after_build'? – apneadiving
oui je l'ai fait aussi bien. Savez-vous ce qui a inspiré le producteur = n'importe où dans l'usine? – disappearedng