简而言之:我想创建一个使用与指定foreign_key和主键关联的Factory。
详情:
这些是我正在使用的模型:
class Event < ActiveRecord::Base
belongs_to :municipality, :foreign_key => :municipality_code, :primary_key => 'code'
...
end
class Municipality < ActiveRecord::Base
has_many :events, :foreign_key => 'municipality_code', :primary_key => 'code'
...
end
我试图以这种方式创建工厂:
FactoryGirl.define do
factory :event do
sequence(:name){|n| "Event-#{n}"}
...
municipality
end
end
但它没有使用Event中定义的foreign_key municipality_code 以及市政当局定义的主键代码。 有没有办法在创建与FactoryGIrl的关联时指定不同的外键和主键?
谢谢你的时间!
答案 0 :(得分:1)
我解决它的方式是自己管理这段关系。不确定这是否是最好的答案,但它对我有用。
FactoryGirl.define do
factory :event do
sequence(:name){|n| "Event-#{n}"}
end
factory :municipality do
after(:create) do |m, eval|
# create one or many here...
FactoryGirl.create(:event, municipality_code: m.code)
end
end
end