Ruby on rails 3 所属对象的反向关联-有一个

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

active record有一点让我困惑(我对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

否,
有一个
不会影响您的数据库<“代码>所属”实际上是在您的表中创建外键字段的内容,这就是您需要迁移的原因。

所以我应该能够如上所述使用关联的两侧?不,对于多态关系,您不能引用
幻灯片。绘制
幻灯片。纸张
。您必须使用幻灯片。可滑动的
,它将返回绘画或纸张对象<代码>绘画。幻灯片
纸张。幻灯片
应该可以工作。此外,您的幻灯片模型中还有一个输入错误,
:polymorphic=true
应该是
:polymorphic=>true
slide.painting.name
slide.paper.title
painting.slide.name
paper.slide.name