关于活跃记录的一件事让我感到困惑(我对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
答案 0 :(得分:1)
不,has_one
不会影响您的数据库。 belongs_to
是实际在表中创建外键字段的原因,这就是您需要迁移的原因。