У меня есть
class Car < ActiveRecord::Base; end
class Porsche < Car
has_many :page_items, :as=>:itemable, :dependent=>:destroy
end
Я должен упомянуть, что я использую одну таблицу с именем cars
, которая имеет поле type
.
class PageItem<ActiveRecord::Base
belongs_to :itemable, :polymorphic=>true
end
Когда я делаю
a = PageItem.new
a.itemable = Porsche.new
a.itemable
#<Porsche id: nil, type: "Porsche", name: nil, ..etc>
a.itemable_type
=> "Car"
И это должно быть
a.itemable_type
=> "Porsche"
У кого-нибудь есть идеи по этому поводу?
Обновление
Согласнок ответу bor1s
, вероятно, это правильное поведение.Так что, если это так, то мой вопрос: как я могу установить значение Porsche
неявно?