You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Rails中如何避免哈希的字符串键被自动转换为符号?

问题根源

你用到的"key": value是Ruby内置的符号键语法糖,无论键外层是否包裹双引号,只要冒号紧跟在引号尾部,Ruby就会自动将该键识别为符号类型,这一行为和你使用的Rails 4.2版本无关,属于Ruby语法本身的默认规则。

解决方案

如果需要保留字符串类型的键,改用哈希火箭=>语法定义哈希即可,正确写法如下:

my_hash_arr = [{"name" => "DA", "amount" => 100000 }]

执行后输出结果为:

=> [{"name"=>"DA", "amount"=>100000}]

完全符合字符串键的需求。

如果是已经生成的符号键哈希需要转成字符串键,可以直接使用Rails封装的stringify_keys方法处理:

# 示例:已有符号键哈希转字符串键
symbol_hash = {name: "DA", amount: 100000}
string_hash = symbol_hash.stringify_keys

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:18:06