我的用户模型上有一个受保护的字段,因为它决定了许可级别。所以它应该受到保护而不是大量分配。因此,即使属性在 3.2 中默认受到保护,这实际上也是我想要的行为。
但是,在一种控制器方法上,我希望允许经理分配此字段,例如在用户创建或用户更新时。
如何允许为特定控制器操作分配该属性?
例如,我有我的控制器:
# app/controllers/admin/users_controller.rb
def create
@user = User.new(params[:user])
# ...
end
现在我要做的是 exclude clearance
from params[:user]
,但它似乎在到达该行之前就被过滤掉并引发和异常(我尝试debugger
在该行之前放置一个权利,甚至将其注释掉,它仍然引发了一个异常)。
受保护的属性在哪里被捕获,如果不是在调用时User#new
?