防止某些属性更新?

Bla*_*man 5 security ruby-on-rails

在rails中,更新模型时,如何在使用以下调用时阻止更新模型的某些属性:

@user.update_profile params[:user]
Run Code Online (Sandbox Code Playgroud)

由于任何人都可以使用"密码"这样的名称创建表单输入,如何过滤允许更新的属性集?

这是attr_XXX的用途吗?

Dan*_*uis 6

你在找attr_accessible.它允许您指定可以通过批量更新(例如update_attributes)设置哪些属性,但您仍然可以"手动"设置属性(即@user.attribute = ...).

有关更多信息,请参阅Ruby on Rails中attr_accessible的重要性.