ActiveRecord 序列化不能与哈希列一起正常工作

ActiveRecord serialize not working properly with Hash column

我正在尝试使用 ActiveRecord 的序列化方法将哈希存储在 table 列中,但我无法使其工作。我正在使用 Rails 4.2.0 和 RailsApi 0.3.1

这是我的模型:

class Agreement < ActiveRecord::Base
  serialize :phone_numbers, Hash
end

phone_numbers 是需要的文本列。

然后在控制台中:

a = Agreement.new(phone_numbers: {"dario" => "12345"})
a.phone_numbers 
=> "{\"dario\"=>\"12345\"}" #(Note this is a string, not a Hash as I would expect)

a.phone_numbers["dario"]
=> "dario" #(Not "12345" as I would expect)

我是不是漏了什么东西??谢谢!

您表现出的行为与 serialize 调用错误一致,要么列名错误,要么完全缺失。例如。 https://gist.github.com/smathy/2f4536d3e59b7a52c855

你在你的问题中显示了正确的代码,所以要么你没有正确复制粘贴,要么你没有重新启动你的 rails 控制台,因为 adding/correcting serialize打电话?