0

我正在使用 Grape 并将数据存储在 postgres hstore 数据字段中。但问题在于它将 Hashie::Mash 存储为字符串而不是对象。

   data_hash = {'top_key' => {'key1' => 'val1'}}
   db_obj = Model.find(1)
   db_obj.update_attributes(data: data_hash)

但是在更新之后,如果您获取该对象数据字段,那么它会显示

   {"top_key"=>"#<Hashie::Mash key1=\"val1\">"}
4

1 回答 1

0

这是由于 hstore 无法正确处理的嵌套哈希。使用nested-hstore gem 后问题得到修复。

于 2014-05-12T10:46:12.297 回答