繁体   English   中英

带3个提交按钮的Rails表单

[英]Rails form with 3 submit buttons

我想使用一个表单来创建一个管理页面...,其中有复选框表示管理员选择了哪个图像,然后是三个提交按钮:批准,编辑,删除。

form_tag是执行此操作的最佳方法吗? 如果不是,那么,如果我仅使用简单的按钮,如何连接它们以从选定的复选框收集数据?

谢谢...

一种方法是您可以使用三个按钮创建一种表单。 如果您使用的是form_tag,则可以通过执行3次Submit_tag来创建三个按钮。 对于commit_tags,请使用相同的:name参数,但使用不同的值。 处理表单时,请检查他们单击了哪个按钮,然后重新路由到适当的操作。

这样做避免了使用js与三种不同形式共享复选框的情况,以此类推。

遇到相同的问题,我尝试使用form_for,它似乎有效。 我只是添加了一个提交按钮以执行其他操作。

= form_for @request do |f|
  = render 'shared/error_messages', object: f.object

  = f.label :status
  = f.text_field :status

...some more fields  

  = f.submit "Save changes", class: "btn btn-large btn-primary" <--- This is initial button
  = f.submit "Accept", name: 'accept', class: "btn btn-large btn-primary"
  = f.submit "Reroute", name: 'reroute', class: "btn btn-large btn-primary"
  = f.submit "Solve", name: 'solve', class: "btn btn-large btn-primary"

然后在控制器中检查按下了哪个按钮:

if !params[:accept].nil? 

if !params[:reroute].nil? 

if !params[:solve].nil? 

您可以在呈现的页面的源中找到的初始按钮的名称。 对我来说是“承诺”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM