ユーザーがフォームを送信するとします (アカウントに新しいアイテムを作成します)。
データベースに行く前に - 私はこれをしたい:
params[:user] => current_user.id
# make a note of who is the owner of the item
# without people seing this or being able to change it themselves
# and only after that to save it to database
それを行う最良の方法は何ですか?
コントローラーに表示されるのはこれだけです:
def create
@item = Item.new(params[:item])
...
end
そして、params[:item] の下の値を変更する方法がわかりません
(current_user.id は Devise 変数)
これをやろうとしました:
class Item < ActiveRecord::Base
before_save :set_user
protected
def set_user
self.user = current_user.id unless self.user
end
end
エラーが発生しました:
undefined local variable or method `current_user'