假设用户提交了一个表单(在他的帐户中创建新项目)。
在它进入数据库之前 - 我想这样做:
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 是设计变量)
试图这样做:
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'