Ruby on rails 3 所属对象的反向关联-有一个
active record有一点让我困惑(我对rails还是有点陌生)。我正在进行这样的迁移:Ruby on rails 3 所属对象的反向关联-有一个,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,active record有一点让我困惑(我对rails还是有点陌生)。我正在进行这样的迁移: def up change_table :slide do |t| t.references => :slideable, :polymorphic => true end end 然后我将修改我的模型,如下所示: class Slide < BaseModel ... belongs_to :slideable, :polymorphic=&g
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
否,
有一个
不会影响您的数据库<“代码>所属”实际上是在您的表中创建外键字段的内容,这就是您需要迁移的原因。所以我应该能够如上所述使用关联的两侧?不,对于多态关系,您不能引用幻灯片。绘制或幻灯片。纸张
。您必须使用幻灯片。可滑动的
,它将返回绘画或纸张对象<代码>绘画。幻灯片
和纸张。幻灯片
应该可以工作。此外,您的幻灯片模型中还有一个输入错误,:polymorphic=true
应该是:polymorphic=>true
。
slide.painting.name
slide.paper.title
painting.slide.name
paper.slide.name