如何在Rails 4中将hstore字符串类型的数组值检索到哈希中

时间:2014-02-19 20:43:48

标签: ruby-on-rails ruby postgresql ruby-on-rails-4

我的hstore列widget_locations中的值已低于:

"left_area2"=>"{\"youtube\"=>{:youtube_id=>\"aasdsadsa\", :from=>\"100\", :to=>\"200\"}}"

使用以下方法保存:

@webcast.create(:widget_locations => {:left_area2 => {:youtube => {:youtube_id => "aasdsadsa", :from => "100", :to => "200"}}})

我尝试通过

检索
@webcast.left_area2

现在正在返回

"{\"youtube\"=>{:youtube_id=>\"aasdsadsa\", :from=>\"100\", :to=>\"200\"}}"

有没有办法将其更改为Rails数组?

1 个答案:

答案 0 :(得分:0)

如果没有看到您的Webcast模型,我猜您没有在serialize上使用widget_locations,因为hstore列应返回Hash

serialize :widget_locations, ActiveRecord::Coders::Hstore添加到模型的顶部并重新启动服务器 - 至少应该返回一个对象(例如Hash)而不是字符串。