我有一个Rails应用程序。视图上有一个表和一个允许从表中动态添加/删除行的按钮。
我需要以params[:my_table_data]
之类的格式通过POST传递表中的所有值,并且能够像params[:my_table_data][:total]
,params[:my_table_data][0]
,params[:my_table_data][0][2]
那样访问它们。< / p>
我该怎么做?
答案 0 :(得分:1)
如果您在末尾用[]
命名输入,则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表单助手将自动为您执行此操作。