您可以使用表單字段的name屬性構建兩種數據結構。
foo[]
將把值成稱爲foo
foo[bar]
陣列將會把值插入到稱爲foo
哈希,使用所述密鑰bar
。
如
<input type="text" name="foo[]" value="bacon">
<input type="text" name="foo[]" value="chicken">
=> params = {:foo => ["bacon", "chicken"]}
<input type="text" name="foo[bar]" value="bacon">
<input type="text" name="foo[baz]" value="chicken">
=> params = {:foo => {:bar => "bacon", :baz => "chicken"}}
這些可以組合:
<input type="text" name="foo[bar][]" value="bacon">
<input type="text" name="foo[baz][]" value="chicken">
=> params = {:foo => {:bar => ["bacon"], :baz => ["chicken"]}}
<input type="text" name="foo[][bar]" value="bacon">
<input type="text" name="foo[][baz]" value="chicken">
=> params = {:foo => [{:bar => "bacon", :baz => "chicken"}]}
添加更多的上下文,例如當它通過時變量看起來像什麼。該請求的日誌條目將很有用。 – Matt
我有一個名爲應用程序的測試文件中的對象,我想在我的控制器中獲得該對象(應用程序)作爲哈希,我怎麼能通過參數發送它? –
你只能通過字符串和數字發送參數,但你可以將內容組織成一個哈希 - 請參閱我的答案。 –