我是Rails 4的新手。现在,我正在使用强大的params和“normal”params。通过正常参数,我的意思是params[:key]
是不允许的。
例如:
强烈的参数:
def person_params
params.require(:person).permit(:name, :age)
end
我同时使用person_params[:name]
和params[:key]
。这将成为未来的问题吗?我该怎么办。
答案 0 :(得分:1)
您应始终使用强参数。
创建强对数以避免the issue of Mass Assignment。
这意味着,如果您直接使用params
哈希,则会冒着某人发送带有不应使用的参数的请求的风险,并在您的模型中成功覆盖它们。
这意味着,例如,有人可以通过恶意制作修改admin
模型中假设User
属性的请求,从“设置”页面获取您网站的管理员权限。
使用强参数可以保证只有您明确允许的参数才能传递给模型,因此攻击者不应该弯曲应用程序的限制。