ruby on rails-如何从hstore列获得二维哈希作为输出



在rails应用程序中,我试图将二维哈希存储在postgreSql hstore列中,但对于输出,我得到了类似的东西

{"6/5"=>"{\"color\"=>\"white\"}","8/1"=>"{"color\"=>\"white\"}"、"8/2"=>"{\"color\"=>\"white"}","8/3"=>"{\"colour\"=>\"white \"}"}。

我如何获得二维哈希作为输出,或者你可以为如何解析它提供一些建议?。

如果你需要将其转换为哈希,这里是你可以做的:

str = {"6/5"=>"{"color"=>"white"}", "8/1"=>"{"color"=>"white"}", "8/2"=>"{"color"=>"white"}", "8/3"=>"{"color"=>"white"}"}
p str.each_with_object({}){|(k,v),h| h[k] = eval(v)}

结果

要在sql数据库中存储哈希,可以使用字符串列并将此行添加到模型中:

serialize :my_hash_thingy

它应该在后台处理每一次序列化/反序列化,每次使用它时都会有正常的哈希。

最新更新