Rails 4:同时使用强参数和“正常”参数

时间:2014-02-22 09:47:01

标签: ruby parameters ruby-on-rails-4 strong-parameters

我是Rails 4的新手。现在,我正在使用强大的params和“normal”params。通过正常参数,我的意思是params[:key]是不允许的。

例如:

强烈的参数:

def person_params
  params.require(:person).permit(:name, :age)
end

我同时使用person_params[:name]params[:key]。这将成为未来的问题吗?我该怎么办。

1 个答案:

答案 0 :(得分:1)

您应始终使用强参数。

创建强对数以避免the issue of Mass Assignment

这意味着,如果您直接使用params哈希,则会冒着某人发送带有不应使用的参数的请求的风险,并在您的模型中成功覆盖它们。

这意味着,例如,有人可以通过恶意制作修改admin模型中假设User属性的请求,从“设置”页面获取您网站的管理员权限。

使用强参数可以保证只有您明确允许的参数才能传递给模型,因此攻击者不应该弯曲应用程序的限制。