无法在rails视图中初始化哈希

时间:2011-12-13 15:02:52

标签: ruby-on-rails hash

出于某种原因,我无法在视图中初始化哈希。我能够用一个简单的哈希(而不是哈希哈希)来初始化它。

以下是型号代码:

class Product < ActiveRecord::Base
    attr_accessible :categories, :name, :description
    serialize :goals, Hash


end

以下是无法初始化的视图代码:

  <% @product.categories || {"0" => {"category_name"=> nil, "effective_date"=> nil},"1" => {"category_name" => nil, "effective_date"=> nil}} %>

  <%= @product.categories %>

我没有收到任何错误,但哈希仍为空。第二行代码显示“{}”。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您实际上并没有在视图代码中进行分配,只是评估一个语句。

尝试(请注意 || = ,与代码中的 || 相比):< / p>

<% @product.categories ||= {"0" => {"category_name"=> nil, "effective_date"=> nil},"1" => {"category_name" => nil, "effective_date"=> nil}} %>

答案 1 :(得分:0)

<% @product.categories ||= {"0" => {"category_name"=> nil, "effective_date"=> nil},"1" => {"category_name" => nil, "effective_date"=> nil}} %>

请注意||=而不是||