3

要するに、指定された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 と、Municipality で定義された主キーコードは使用しません。FactoryGIrl との関連付けを作成するときに、別の外部キーと主キーを指定する方法はありますか?

御時間ありがとうございます!

4

1 に答える 1

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
于 2013-07-12T20:06:21.543 に答える