所以在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>
我希望params[:categories]
是
[{"name"=>"value"},{"name"=>"value"},{"name"=>"value"},{"name"=>"value"}]
但是,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]" />
得到一个哈希。但这似乎适得其反。
答案 0 :(得分:3)
你必须颠倒下标顺序:
<input type="text" name="categories[name][]" />