首页 > 解决方案 > 为什么我们通常不为 http GET 使用强参数

问题描述

我见过用于编写 HTTP 动词的强参数,

例如在铁轨中

User.new( params.require(:user).permit(:name) )

但通常你不会看到这种 HTTP GET 的参数白名单,为什么?我想这一定是因为写的比较敏感,但想不出具体的解释。

标签: ruby-on-railsresthttp

解决方案


添加了强参数以确保不会更新您未明确允许的模型属性。如果用户能够更改他/她的网站 URL,您可能不希望他/她更改 role_id 属性,如果您不清理输入,这将是微不足道的。

GET 请求通常不用于创建或更新模型。


推荐阅读