ruby-on-rails - 为什么我们通常不为 http GET 使用强参数
问题描述
我见过用于编写 HTTP 动词的强参数,
例如在铁轨中
User.new( params.require(:user).permit(:name) )
但通常你不会看到这种 HTTP GET 的参数白名单,为什么?我想这一定是因为写的比较敏感,但想不出具体的解释。
解决方案
添加了强参数以确保不会更新您未明确允许的模型属性。如果用户能够更改他/她的网站 URL,您可能不希望他/她更改 role_id 属性,如果您不清理输入,这将是微不足道的。
GET 请求通常不用于创建或更新模型。
推荐阅读
- c# - .NET Core Entity Framework Fluent api 错误,DateTime 属性将文本作为列类型
- pandas - GroupBy 唯一聚合并在熊猫中具有特定条件
- javascript - 如何使用排除搜索猫鼬
- javascript - 将组件传递给“组件”而不是“
" - mysql - 如何使用子查询从mysql中的表中删除数据
- reactjs - p5.js mousePressed 事件返回未定义
- java - 在 Java 中使用 Selenium WebDriver
- python - Pandas.DataFrame.join 在我的情况下不起作用
- c# - 如何(base64)将 protobuf 编码为 REST 的字符串
- c# - 修改(不替换)ConcurrentDictionary 值