6

我的 Rails 应用程序中有一个模型,它使用以下:class_name属性has_one

class Foo < ActiveRecord:Base
  has_one :main_bar, :class_name => "Bar"

  # ...
end

我现在有点不确定在这个类的迁移中添加什么。我可以使用参考吗?Rails 将寻找什么作为列名:main_bar?我可以这样做吗?

class CreateFoos < ActiveRecord::Migration
  def self.up
    create_table :foos do |t|
      t.references :main_bar
    end
  end

  def self.down
    drop_table :foos
  end
end

谢谢!

4

1 回答 1

7

您不会在具有“has_one”关系的表中放入任何内容。foreign_key 在另一个表中。在上面的示例中,您需要向bars表中添加外键。

在迁移中,您可以使用:

t.references :foo

或者:

t.integer :foo_id

任何一个都可以。

于 2010-01-30T06:42:04.097 回答