ポリモーフィックな関連付けと組み合わせて単一テーブル継承を使用しています。これが私のモデルです。
class ChangeInformation < ActiveRecord::Base
belongs_to :eventable, :polymorphic => true
end
class Race < ActiveRecord::Base
has_many :track_condition_changes, :as => :eventable, :class_name => "ChangeInformation"
#other associations omitted
end
class TrackConditionChange < ChangeInformation
end
change_informationsテーブルには、次のフィールドがあります。
type #sti field
change_code
eventalbe_id #polymorphic id
eventable_type #polymorphic type
description
次のcreateメソッドを使用する場合:
TrackConditionChange.create(:change_code => 1, :eventable_id => 3 :description => "test")
TrackConditionChangeレコードが作成され、typeフィールドが入力されますが、eventable_typeフィールド(Raceである必要があります)は入力されません。STIタイプのフィールドと同じように、レールがこのフィールドに自動的に入力されるという印象を受けました。私は間違った印象を受けていましたか、それとも私の協会の設定に問題がありますか?
入力ありがとうございます。