Ruby on rails 如何检索序列化数据?

Ruby on rails 如何检索序列化数据?,ruby-on-rails,serialization,Ruby On Rails,Serialization,在Rails 3.2应用程序中,我有一个带有文本列的模型:data。在模型中,我有: class Model serialize :data, Hash end 这是以以下格式正确存储数据:{“attr1”=>“foo”,“attr2”=>“bar”…} 如果我想在show视图中显示它,我可以执行,然后呈现整个哈希 但是如果我只需要渲染一个特定的属性呢?这可能吗 我尝试了几种似乎可行的方法: -生成未定义的方法“attr1” -不显示任何内容 我错过什么了吗? . 谢谢你的指点你试过哈希键

在Rails 3.2应用程序中,我有一个带有文本列的模型
:data
。在模型中,我有:

class Model
  serialize :data, Hash
end
这是以以下格式正确存储数据:{“attr1”=>“foo”,“attr2”=>“bar”…}

如果我想在show视图中显示它,我可以执行
,然后呈现整个哈希

但是如果我只需要渲染一个特定的属性呢?这可能吗

我尝试了几种似乎可行的方法:

-生成
未定义的方法“attr1”
-不显示任何内容

我错过什么了吗? .
谢谢你的指点

你试过哈希键的字符串格式吗

 @model.data['attr1']

通过这种方式,您可以通过符号或字符串作为键获取值。

doh!这是有道理的。谢谢你能推荐一些关于HashWithDisferenceAccess的好信息吗?从我的搜索结果来看,它似乎没有被很好地覆盖。它是否被广泛使用,或者可能被弃用?我喜欢语法的简单性,但不想被夸大:)没有什么要解释的,因为这个类的父类是
Hash
,允许您使用符号而不是键。但是这个类被Rails广泛使用。更重要的是:ActiveSupport在
散列
本身中添加了方法
和访问无关
,以返回
散列和访问无关
实例。试着把
放在你的任何一个视图中,看看你自己,我不是在开玩笑)谢谢你,我应该试试这个,但我没有!我为额外的序列化信息将答案授予了jdoe,但我有一个加分。谢谢各位,我在发现jdoe后也立即对答案进行了加分。现在问题是+1
<%- @model.data[:attr1] %>
<%= @model.data["attr1"] %>
serialize :data, HashWithIndifferentAccess