ActiveRecord的序列化将整数转换为字符串? [滑轨]

时间:2017-01-15 10:23:21

标签: ruby-on-rails rails-activerecord

当我将哈希作为JSON持久化时,我希望哈希转换为JSON而不是修改,而是将键从整数更改为字符串。

模特:

class Shift < ActiveRecord::Base
  serialize :api_returns, JSON
end

用法:

> Shift.create(api_returns: { 123 => '456' })
  SQL (0.5ms)  INSERT INTO "shifts" ("api_returns") VALUES ($1) RETURNING "id"  [["api_returns", "{\"123\":\"456\"}"]]
=> #<Shift:0x007fe785038c60 id: 22, ... api_returns: {"123"=>"456"}>

任何想法如何使ActiveRecord不会破坏我的输入?

2 个答案:

答案 0 :(得分:1)

JSON不能有整数键。键必须是双引号字符串,不允许使用其他类型。

http://json.org/

答案 1 :(得分:0)

使用parseInt(),你可以在js中使用它们进行转换。

var a = parseInt("10")