ActiveRecord序列化与Hash列无法正常工作

我正在尝试使用ActiveRecord的序列化方法将Hash存储在表列中,但我无法使其工作。 我正在使用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控制台,因为添加/纠正了serialize调用?