einrichten Ich habe mit der Einrichtung einer has_many/through
Beziehung mit Factory Girl kämpfen.Factory Girl: Wie man eine has_many/durch die Verbindung
Ich habe folgende Modelle:
class Job < ActiveRecord::Base
has_many :job_details, :dependent => :destroy
has_many :details, :through => :job_details
end
class Detail < ActiveRecord::Base
has_many :job_details, :dependent => :destroy
has_many :jobs, :through => :job_details
end
class JobDetail < ActiveRecord::Base
attr_accessible :job_id, :detail_id
belongs_to :job
belongs_to :detail
end
Meine Factory:
factory :job do
association :tenant
title { Faker::Company.catch_phrase }
company { Faker::Company.name }
company_url { Faker::Internet.domain_name }
purchaser_email { Faker::Internet.email }
description { Faker::Lorem.paragraphs(3) }
how_to_apply { Faker::Lorem.sentence }
location "New York, NY"
end
factory :detail do
association :detail_type <--another Factory not show here
description "Full Time"
end
factory :job_detail do
association :job
association :detail
end
Was ich will, ist für meine Arbeit Werk mit einem Standard Detail
von "Vollzeit" geschaffen werden.
Ich habe versucht, dies zu folgen, haben aber kein Glück gehabt: FactoryGirl Has Many through
Ich bin nicht sicher, wie die after_create
verwendet werden sollte, die Details über JobDetail zu befestigen.
Das hat super funktioniert, danke. Eine Frage - das Hinzufügen von after_create funktioniert, aber es antwortet mit 'DEPRECATION WARNING: Sie versuchen, ein Attribut' detail_id 'zu erstellen. Das Schreiben beliebiger Attribute in einem Modell ist veraltet. Bitte benutze 'attr_writer' etc. nur irgendwelche Ideen? – cman77
Ich weiß, das ist alt, aber in FactoryGirl verwenden Sie jetzt Callbacks mit dem Format 'after (: create)' 'anstelle von' after_create'. Der Rest der Antwort sollte immer noch ohne Fehler funktionieren. – Arel
mehr Infos auf 'nach (: erstellen)' Callbacks: http://robots.thoughtbot.com/get-your-callbacks-on-with-factory-girl-3-3 – Brian