同じにやっても動かない

書いてある通りやっているのに動かないのです

ポリモーフィック関連のfactoryの書き方 on FactoryGirl

こんな感じで、polymorphic関連を設定しているとします。

# Photo model
class Photo < ActiveRecord::Base
  belongs_to :category, :polymorphic => true
end

# Mountain model
class Mountain < ActiveRecord::Base
  has_one :photo, :as => :category
end

# River model
class River < ActiveRecord::Base
  has_one :photo, :as => :category
end


そんでもって、こんなfactoryを書きます。

FactoryGirl.define do
  factory :mountain_photo, class: "Photo" do
    association :category, factory: :mountain
  end

  factory :river_photo, class: "Photo" do
    association :category, factory: :river
  end

  factory :moutain do
    name "Mt.hoge"
 end

  factory :river do
    name "Riv.fuga"
  end
end


これで "FactoryGirl.create(:mountain_photo)" とやると、:categoryに:mountainが入ったレコードが、"FactoryGirl.create(:river_photo)" とやれば、:categoryに:riverが入ったレコードが生成されるようになります。

ではでは。