2014-10-16 53 views
0

我正在創建一系列link_to,並且將一些嵌套信息作爲數組傳遞給每個URL。我想要的結果看起來像這樣:RoR - URL參數數組中的哈希中缺失的鍵

?features%5B%5D%5BThick%5D=98&features%5B%5D%5BThin%5D=99 
//For some legibility 
?features[][Thick]=98&features[][Thin]=99 

然而,鍵陣列內的散列沒有顯示出來,而我也看不到:

?features%5B%5D%5B%5D=98&features%5B%5D%5B%5D=99 
//For some legibility 
?features[][]=98&features[][]=99 

該局正在創造這一系列的網址在這裏:

<% @products.each |product| do %> 
<%= link_to "", new_line_item_path(product_id: product, features: [product.features.each{|feature| {feature.name.to_sym => feature.feature_color_default}}])%> 
<% end %> 

這只是一個語法錯誤還是因爲我採取了錯誤的方法?

**也許這是對於這個問題太多的信息,但產品有許多功能,而這些功能又通過Feature_Colors有許多顏色。

回答

0

我不知道爲什麼上述不工作,但我做了以下更改,都設置了。希望這裏的關鍵詞能幫助別人,如果他們犯了同樣的錯誤。

首先,我把哈希創作出到產品型號,像這樣:

def default_features 
    list = Hash.new 
    features.each do |feature| 
     list[feature.name] = feature.feature_color_default_id 
    end 
    return list 
end 

然後,我改變了的link_to:

<%= link_to "", new_line_item_path(product_id: product, features: [product.default_features])%> 

工作爲現在需要的。