防止表单修改活动记录属性

时间:2013-03-20 20:40:22

标签: ruby-on-rails activerecord

在Ruby on Rails中,从HTML表单更新模型非常容易。通常,您只需使用模型创建form_for,当用户点击提交按钮时,其中的字段将会更新。

虽然说恶意用户想要更新他们的“工资”而不通过适当的渠道。难道他们只是在更新他们的电子邮件地址时(例如)以“工资”的名义注入一个字段,并将他们的工资设置为基本上他们想要的任何东西?如何指定哪些字段可以修改以及哪些字段无法阻止?

看到像

这样的东西
@user.update_attributes(params[:user])

看起来很吓人。他们可以更新任何东西我理解使用attr_accessible,但这只与大规模更新有关,不是吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法限制可以批量分配的字段:

attr_accessible :name, :address # no :salary