出于某种原因,我无法在视图中初始化哈希。我能够用一个简单的哈希(而不是哈希哈希)来初始化它。
以下是型号代码:
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 %>
我没有收到任何错误,但哈希仍为空。第二行代码显示“{}”。
我做错了什么?
答案 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}} %>
请注意||=
而不是||