通过 POST 从动态表传递数据

Passing a data from a dynamic table via POST

本文关键字:数据 动态 POST 通过      更新时间:2023-09-26

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

我需要通过 POST 以 params[:my_table_data] 这样的格式传递表中的所有值,并能够像 params[:my_table_data][:total]params[:my_table_data][0]params[:my_table_data][0][2] 一样访问它们。

我该怎么做?

如果你在末尾用[]命名你的输入,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">

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