如何在控制器中获取f.submit的名称参数?
我创建了_form.html.erb,其编码方式如下
{ :class => 'form-horizontal' } do |f| %> .... 'btn btn-primary', :name => 'update' %> 'btn btn-danger', :name => 'destroy' %> ....
是的,我确实有2个以相同forms提交的提交,并且它们都有诸如’update’和’destroy’之类的名称。
当用户按下destroy按钮时,将调用books_controller中的更新操作。
并判断是否“更新”或“销毁”请求。
为此,我如何在控制器中获取其名称参数?
更新动作将是这样的
def update if params[:books][:name] == 'destroy' destroy transaction else update transaction end end
试试这个,
<%= f.submit 'Update', :class => 'btn btn-primary', :name => 'submit' %> <%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'submit' %>
现在,当你更新时,你会得到params[:submit]
作为“更新”,当你毁灭时你会在你的控制器中获得params[:submit]
as“Destroy”
销毁时,您是否需要表单的其他输入值?
有两种forms会更容易(也更清晰),一种是针对更新动作的输入,另一种是仅针对destoy动作的销毁按钮?
如果你需要访问其他输入,我仍然建议你有两个不同的动作和两个不同的forms,我还建议你在提交时使用JS / jQuery从第一个表单中获取你需要的字段的值。第二种forms