我尝试使用ActiveRecord的序列化方法在表格列中存储哈希,但我无法使其正常工作。我使用的是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)
我错过了什么吗?谢谢!
答案 0 :(得分:3)
您显示的行为与serialize
调用错误,错误命名列或完全丢失一致。例如。 https://gist.github.com/smathy/2f4536d3e59b7a52c855
您在问题中显示了正确的代码,因此要么您没有正确地进行复制粘贴,要么是因为添加/更正serialize
调用后您还没有重新启动rails控制台? / p>