【发布时间】:2015-07-12 10:47:39
【问题描述】:
我有一个编辑表单,我在其中构建了一个数字数组。当我点击提交时,我会做“ :method => :sort ”。我如何做到这一点,以便我的控制器中的排序方法可以使用数组。编辑表单是在haml中完成的。
【问题讨论】:
标签: jquery ruby-on-rails ruby haml
我有一个编辑表单,我在其中构建了一个数字数组。当我点击提交时,我会做“ :method => :sort ”。我如何做到这一点,以便我的控制器中的排序方法可以使用数组。编辑表单是在haml中完成的。
【问题讨论】:
标签: jquery ruby-on-rails ruby haml
有更多的解决方案,但我更喜欢这个:
在表格用于添加的模型中:
attr_accessor :order_ids
现在在 haml 代码中,即在表单中添加:
%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 中指定
假设您在 lists_controller 中有一个名为 sort 的操作,并且在您的路由中将其定义为:
put '/sort', to: 'lists#sort', as: list_sort
那么你可以把它写成:
= form_for @list, :html => { :method => :put, :multipart => true, url: list_sort_path } do |f|
希望这会有所帮助。
【讨论】: