Rails 2 - 为param预期Hash(得到数组)

vin*_*boy 5 ruby-on-rails

所以在HTML中,如果我做了这样的表格:

<form method="post">
<input type="text" name="categories[][name]" />
<input type="text" name="categories[][name]" />
<input type="text" name="categories[][name]" />
<input type="text" name="categories[][name]" />
<input type="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

我希望params[:categories]如此

[{"name"=>"value"},{"name"=>"value"},{"name"=>"value"},{"name"=>"value"}]
Run Code Online (Sandbox Code Playgroud)

但相反,rails 2会引发一个TypeError:为param引发预期的Hash(获取数组)

这里出现错误:

http://apidock.com/rails/Rack/Utils/normalize_params

为什么在rails中不允许或不可解析?我错过了什么?

我知道我可以像这样索引输入

<input type="text" name="categories[0][name]" />
<input type="text" name="categories[1][name]" />
<input type="text" name="categories[2][name]" />
<input type="text" name="categories[3][name]" />
Run Code Online (Sandbox Code Playgroud)

得到一个哈希.但这似乎适得其反.

Jim*_*art 3

你必须颠倒下标顺序:

<input type="text" name="categories[name][]" />
Run Code Online (Sandbox Code Playgroud)