我有一个 Rails 应用程序。视图上有一个表和一个允许从表中动态添加/删除行的按钮。
我需要通过 POST 以类似的格式从表中传递所有值,params[:my_table_data]
并且能够像params[:my_table_data][:total]
, params[:my_table_data][0]
, params[:my_table_data][0][2]
.
我怎么做?
我有一个 Rails 应用程序。视图上有一个表和一个允许从表中动态添加/删除行的按钮。
我需要通过 POST 以类似的格式从表中传递所有值,params[:my_table_data]
并且能够像params[:my_table_data][:total]
, params[:my_table_data][0]
, params[:my_table_data][0][2]
.
我怎么做?
如果你[]
在最后用 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 表单助手将自动为您执行此操作。