Profile (belongs_to polymorphic)に属するUserモデルがあります。1 つのモデルには 2 つのサブクラスがありますが、 Userのprofile_typeは常に親モデルに対応します。
User < ActiveRecord::Base
belongs_to :profile, :polymorphic => true
SomeProf < ActiveRecord::Base
has_one :user, :as => :profile
SomeDeepProf1 < SomeProf
SomeDeepProf2 < SomeProf
それで:
sdp1 = SomeDeepProf1.new
user = sdp1.create_user
user.profile_type
> 'SomeProf'
サブクラスで関連付けを記述しても、profile_typeはSomeProfのままです。
なぜこれが起こるのですか?profile_type が親クラスではなくサブクラスに一致する方法はありますか?