如何检索序列化数据



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

class Model
  serialize :data, Hash
end

这是以格式正确存储数据 data:{"attr1"=>"foo", "attr2"=>"bar"....} .

如果我想在显示视图中显示它,我可以做<%= @model.data %>,并渲染整个哈希。

但是,如果我只需要渲染特定属性怎么办?这可能吗?

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

<%= @model.data.attr1 %> - 生成undefined method 'attr1' <%- @model.data[:attr1] %> - 不显示任何内容

我错过了什么吗?.感谢您的任何指示

<%- @model.data[:attr1] %>

替换为:

<%= @model.data["attr1"] %>

注意:<%=开头。你误用<%-了。

上级:

我建议使用HashWithIndifferentAccess

serialize :data, HashWithIndifferentAccess

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

您是否尝试过哈希键的字符串格式?

 @model.data['attr1']

最新更新