2011-12-13 35 views
1

出於某種原因,我無法在我的視圖中初始化散列。我能夠用一個簡單的散列來初始化它(而不是哈希散列)。無法在導軌視圖中初始化散列

下面是型號代碼:

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
<% @product.categories ||= {"0" => {"category_name"=> nil, "effective_date"=> nil},"1" => {"category_name" => nil, "effective_date"=> nil}} %> 

注意的||=代替||

+0

謝謝Zed!我需要多喝些咖啡或者睡一會兒! – Tabrez

0

你實際上並沒有在你的視圖代碼中做一個分配,只是評估一個語句。

嘗試(注意|| =,相比||在你的代碼):

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

謝謝擔!我絕對需要第二雙眼睛才能看到它! – Tabrez