Ruby on rails 将用户分配到嵌套模型

Ruby on rails 将用户分配到嵌套模型,ruby-on-rails,ruby-on-rails-3,rails-activerecord,nested-attributes,Ruby On Rails,Ruby On Rails 3,Rails Activerecord,Nested Attributes,我的应用程序中有接受评论的产品,我希望用户能够对产品进行操作(创建、更新…),每个操作都应该有评论 因此,注释是产品的嵌套属性 accepts_nested_attributes_for :comments, reject_if: proc { |comment| comment['text'].blank? } 我的问题是,我想让注释知道是哪个用户创建了它们,因此我在模型中添加了一个before_验证挂钩,以将当前用户分配给注释: before_validation :assign_cu

我的应用程序中有接受评论的产品,我希望用户能够对产品进行操作(创建、更新…),每个操作都应该有评论

因此,注释是产品的嵌套属性

accepts_nested_attributes_for :comments, reject_if: proc { |comment| comment['text'].blank? }
我的问题是,我想让注释知道是哪个用户创建了它们,因此我在模型中添加了一个before_验证挂钩,以将当前用户分配给注释:

  before_validation :assign_current_user
  ...
  private
  def assign_current_user
    user = Thread.current[:current_user]
  end
但这不起作用,因为
Thread.current[:current\u user]
返回
nil

我知道在模型中我不应该引用
当前用户
,尽管我不知道如何将当前用户传递给嵌套的属性,因为我不希望用户id位于
属性可访问的
元素中(我不希望用户对创建注释的对象进行调整)

所以我不确定什么是正确的方法

谢谢