ruby-on-rails - 在 Rails 中使用区分大小写的键发送请求数据
问题描述
作为表单的一部分,我正在向 Rails 后端发送一个 put 请求中的 JSON 对象。请求数据如下所示:
{"choiceNames": {
"Key Name A": true,
"Key Name B": true
}}
该示例是人为设计的,但关键是键名区分大小写。在 Rails 控制器中,当使用 来查看数据时params
,所有的键都被小写了。
{"choiceNames" => {
"key name a" => true,
"key name b" => true
}}
如何防止 Rails 进行这种向下转换?
解决方案
你必须阅读,6.2.2.1。URI 的 RFC:Case Normalization声明,
当 URI 使用通用语法的组件时,组件语法等价规则始终适用;即,方案和主机不区分大小写,因此应标准化为小写。
在控制器中获取大写形式。
推荐阅读
- c - Valgrind 显示块肯定会丢失记录
- python - 子进程 FileNotFoundError
- java - 类型不匹配异常:无法将字符串(java.String)转换为所需类型(java.lang.Integer)
- r - 如何修剪R中特定范围内的数据点百分比
- html - 引导轮播缩放图标错误
- rust - 按字符拆分字符串,然后在 Rust 中重新加入新的字符插入
- bash - 使用 bash 脚本登录服务器 (ssh)
- python - Crontab 不每 5 分钟执行一次我的 python 脚本
- flutter - 通过实现 reso coder flutter firebase ddd course 使用 enum_to_string 包在我的课堂上使用 enum
- c - S_ISDIR 无法识别工作目录之外的目录