この複雑なケースで 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
私は何を間違っていますか?
ありがとう