使用外键添加与现有模型的关联

时间:2014-05-21 20:29:33

标签: ruby-on-rails migration associations

假设您有这两个模型

rails generate model User
rails generate model Car

现在我想添加一个关联,以便模型获取表单

class User < ActiveRecord::Base
  has_many :cars
en
class Car < ActiveRecord::Base
  belongs_to :driver, foreign_key: "driver_id", class_name: "User"
end

我的迁移会为汽车添加正确的列是什么样的?它应该是名为driver_id还是user_id的列?

这是this question的变体。

1 个答案:

答案 0 :(得分:1)

当您在关联中使用不同的foriegn_keys时,您必须记住这些关联只会使用您提供的foreign_key

-

这意味着如果您希望使用此关联:

belongs_to :driver, foreign_key: "driver_id", class_name: "User"

迁移/表格如下所示:

add_column :cars, :driver_id, :integer