1

在这种复杂的情况下,如何设置 Rails 记录的所有者。

我有用户、事件、标签模型。标签是多态的。

在事件表单上,我有一个:tag_ids多选。

在标签创建控制器中,我有:

def create
  klass = [Event, ...some other models.].detect { |t| params["#{t.name.underscore}_id"]}
  @taggable = klass.find(params["#{klass.name.underscore}_id"])
  @tag = @taggable.tags.new(params[:tag]
  if save.......
end

到目前为止,一切都很好。但是 Tag 模型也有一个:tagged_by_id列,我需要将其设置为当前用户。

@tag = @taggable.tags.new(params[:tag].merge(tagged_by_id: current_user.id))

似乎它应该工作。但事实并非如此。

tagged_by_id = nil

我究竟做错了什么?

谢谢

4

0 回答 0