我有一个编辑表单,我在其中构建了一个数字数组。当我点击提交时,我会做“:method =>:sort”。我怎么做到这样我的控制器中的排序方法可以使用数组。编辑表格以haml。
完成答案 0 :(得分:3)
还有更多解决方案,但我更喜欢这个:
在要添加表单的模型中:
attr_accessor :order_ids
现在在haml代码中,即以add:
的形式%input{name: "model_name[order_ids][]", type: "hidden", value: order}
在控制器中:
params[:model_name][:order_ids]
你应该得到阵列。只需将model_name
更改为您的模型名称。
你为什么要发送:
= f.submit "Save Changes", :method => :sort
方法排序。这是不正确的。如果您要将表单发送到控制器中的操作sort
,则需要在form url
假设您在sort
中有一个名为lists_controller
的动作,并在您的路线中将其定义为:
put '/sort', to: 'lists#sort', as: list_sort
然后在表单中,您可以将其指定为:
= form_for @list, :html => { :method => :put, :multipart => true, url: list_sort_path } do |f|
希望这有帮助。