2014-06-06 158 views
1

是否有任何方式使用6 number_field_tag發送一個二維數組參數類似下面在軌道上

{ 'bar' => { 'foo' => [[10, 100], [20, 200], [30, 300]] } } 

發送嵌套數組參數紅寶石?

我想:

<%= number_field_tag "bar[foo][][]" %> 

但它沒有工作

'bar' => { 'foo' => nil }

回答

1

關閉我的頭頂,我不能想辦法從建立一個二維數組6盒,但你可以做的是建立2個一維數組,然後將它們組合在你訪問的任何頁面的另一端。例如:

<%= number_field_tag "bar[foo][]" %> 
<%= number_field_tag "bar[foo][]" %> 
<%= number_field_tag "bar[foo][]" %> 
<%= number_field_tag "bar[foo2][]" %> 
<%= number_field_tag "bar[foo2][]" %> 
<%= number_field_tag "bar[foo2][]" %> 

構建一個參數列表如下所示:"bar"=>{"foo"=>["10", "10", "10"], "foo2"=>["9", "9", "9"]}

然後在接收端是相結合的一個簡單的事情兩個具有:

array = params[:bar][:foo].zip(params[:bar][:foo2]) 

產生以下數組:

[["10", "9"], ["10", "9"], ["10", "9"]] 

據我所知,沒有辦法設置在params哈希中添加二維數組,但我可能是錯的。希望這可以處理你需要的:)

+2

是的我猜這是唯一的,因爲rails似乎不支持多維數組在查詢字符串:(謝謝!ref:http://stackoverflow.com/a/ 1446551分之14898800 –