2010-06-04 76 views
1

如何創建一個存儲散列的複選框,以便當我檢索params數組中的值時,我得到一個散列。鋼軌形式複選框陣列/散列值

+0

啊,對不起,我有點新,沒有意識到該功能可用。會做! – badnaam 2010-06-04 19:24:46

回答

1

在你的控制器@hash = [your hash code]

在你看來:<% check_box_tag 'name', @hash %>

,如果你想成爲一個形式http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#M002256http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

編輯過程中使用其他視圖助手:基於下面的評論

你需要做一些不同的事情。 建立你的複選框,這樣的: <%= check_box :search, "conditions", {:onclick => "refreshResults(this);"}, "#{result.to_s}=#{option.to_s}" %>

這將產生複選框,其中value="city=blah blah",當你處理此導軌中做:

search = {} 
conditions.each do |c| 
    c.split('=').each{|k,v| search[k] = v} 
end 

您可以使用搜索散列過濾。

+0

嗯,當我這樣做.. <%result.each do | result,result_options |%> <%result_options.each do | option,count | %> <%= f.check_box 「刻面」,{結果=>選項}%> <% end %> <%end %> 我得到.. 該值仍爲1 – badnaam 2010-06-04 19:30:13

+0

嘗試使用check_box:search,facet,{},hash'不要使用f.check_box並匹配:搜索零件在'name =「name []」''''''之前是 – 2010-06-04 19:53:09

+0

謝謝。 這裏是我得到的 From .. <%= check_box:search,「conditions」,{:onclick =>「refreshResults(this);」},{result => option }%> 而不是哈希{result =>選項}正在生成article_tagEnergy。在我的控制器中,我希望獲得 params [:search] [:conditions] = {{articletag => Energy},{city = >「xxx」}} – badnaam 2010-06-04 21:11:08