Rails模型has_many,belongs_to关系

时间:2012-01-05 12:40:24

标签: ruby-on-rails ruby ruby-on-rails-3

我有2个模特

 class User < ActiveRecord::Base
   has_many :products
 end

class Product < ActiveRecord::Base
  belongs_to :user
end

我是否需要在Product表中添加一列user_id,或者默认情况下rails会添加它吗?

1 个答案:

答案 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将知道这是您的外键。