0

我正在做 Rails 3.2.3 并且有一个问题:

我已经有 2 个模型产品和用户。User 表是在我设置设计时创建的。我想让产品属于用户,这就是我所做的:

rails g migration AddUserToProduct user_id:integer

在产品模型中,我添加:

belongs_to :user

在用户模型中,我添加:

has_many :products

我跑了

rake db:migrate 

我看起来很好。为了测试它,我进入 Web 界面,登录并制作一个新产品,然后使用 Rails 控制台,我输入

Product.last

我很困惑,因为 user_id:nil 这意味着用户和产品之间没有参考。

我的代码有什么问题吗?在两个现有模型之间创建参考列的正确方法是什么?

感谢您的帮助

4

1 回答 1

1

你能展示你的产品控制器吗?最有可能的是,你有类似的东西

def create
  @product = Product.new(params[:product])
  ...
end

如果是这样,将其更改为

def create
  @product = current_user.products.build(params[:product])
  ...
end    
于 2012-06-16T18:38:19.560 回答