关于活动记录的一件事让我感到困惑(我对 Rails 还是有点陌生)。我正在做这样的迁移:
def up
change_table :slide do |t|
t.references => :slideable, :polymorphic => true
end
end
然后我将修改我的模型:
class Slide < BaseModel
...
belongs_to :slideable, :polymorphic=>true
end
class Painting < BaseModel
...
has_one :slide, :as => :slideable
end
class Paper < BaseModel
...
has_one :slide, :as => :slideable
end
为了能够使用关联的双方,我是否还必须对绘画和纸张上的 has_one 关系进行迁移?
slide.painting.name
slide.paper.title
painting.slide.name
paper.slide.name