简而言之:我想创建一个使用与指定外键和主键关联的工厂。
详细说明:
这些是我正在使用的模型:
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
但它不使用外键 市政代码在事件和主键中定义 代码市政府定义。
创建与 FactoryGIrl 的关联时,有没有办法指定不同的外键和主键?
谢谢你的时间!
最佳答案
我解决它的方法是自己管理关系。不确定这是否是最好的答案,但它对我有用。
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
关于ruby-on-rails - 对 FactoryGirl 使用不同的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256209/