私は次のモデルを持っています:
class Activity < ActiveRecord::Base
has_many :clientships, :dependent => :destroy
has_many :clients, :through => :clientships
end
class Clientship < ActiveRecord::Base
belongs_to :client
belongs_to :activity
validates_presence_of :client_id
validates_presence_of :activity_id, :unless => :new_record?
end
class Client < ActiveRecord::Base
has_many :clientships
has_many :activities, :through => :clientships
end
「 Activity can't be blank 」という検証エラーが発生するため、:activity ファクトリを作成できません。
私の工場は次のようになります。
Factory.define :activity do |a|
a.association :staff, :factory => :user
a.clientships { |cs| [cs.association :clientship] }
end
Factory.define :clientship do |cs|
cs.association(:client)
end
Factory.define :client do |c|
c.first_name {Factory.next(:name)}
c.last_name {Factory.next(:name)}
end
仕様でこのファクトリを実行すると、エラーが発生します。
@activity = Factory(:activity)
助けてください!