我正在尝试使用 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)
我是不是错过了什么??谢谢!
最佳答案
您显示的行为与错误的 serialize
调用一致,要么列名错误,要么完全丢失。例如。 https://gist.github.com/smathy/2f4536d3e59b7a52c855
你在你的问题中显示了正确的代码,所以要么你没有正确复制粘贴,要么你没有在添加/更正 serialize
后重新启动 Rails 控制台打电话?
关于ruby-on-rails - ActiveRecord 序列化不能与哈希列一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221692/