我有2个模特
class User < ActiveRecord::Base
has_many :products
end
class Product < ActiveRecord::Base
belongs_to :user
end
我是否需要在Product表中添加一列user_id,或者默认情况下rails会添加它吗?
答案 0 :(得分:50)
您需要手动将user_id
列添加到Product
模型。如果尚未创建模型,请将列列表中的引用添加到模型生成器。例如:
rails generate model Product name:string price:decimal user:references
或者,如果您的Product
模型已经存在,您需要做的是:
rails g migration addUserIdToProducts user_id:integer
这将生成一个将user_id
列正确添加到products
表的迁移。如果列正确命名(user_id),Rails将知道这是您的外键。