0

我有一个 Rails 应用程序。视图上有一个表和一个允许从表中动态添加/删除行的按钮。

我需要通过 POST 以类似的格式从表中传递所有值,params[:my_table_data]并且能够像params[:my_table_data][:total], params[:my_table_data][0], params[:my_table_data][0][2].

我怎么做?

4

1 回答 1

1

如果你[]在最后用 a 命名你的输入,rails 会将它们全部收集到你的参数中的一个数组中。

例如:

<input name="data[]" value="one">
<input name="data[]" value="two">

将产生:

params[:data][0] == "one"
params[:data][1] == "two"

我不认为你可以做一个data[][](虽然我没有尝试过)但你可以手动添加索引:

您可以多次使用此语法:

<input name="data[1][]" value="one">
<input name="data[1][]" value="two">
<input name="data[2][]" value="three">
<input name="data[2][]" value="four">

如果您有一组复选框或多选等,rails 表单助手将自动为您执行此操作。

于 2013-09-28T05:14:35.687 回答