首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rails中的多个提交按钮/表单

在Rails中,可以在一个表单中使用多个提交按钮。这可以通过在表单中添加多个提交按钮并为它们分配不同的名称和值来实现。在控制器中,可以使用这些名称和值来区分不同的提交按钮,并执行相应的操作。

以下是一个简单的示例,展示了如何在Rails中的表单中使用多个提交按钮:

代码语言:html
复制
<%= form_with model: @user, local: true do |form| %>
  <%= form.label :name %>
  <%= form.text_field :name %>

  <%= form.label :email %>
  <%= form.text_field :email %>

  <%= form.submit "Save" %>
  <%= form.submit "Save and Continue" %>
<% end %>

在这个示例中,我们在表单中添加了两个提交按钮,一个用于保存用户信息,另一个用于保存并继续编辑用户信息。

在控制器中,我们可以使用params[:commit]来获取提交按钮的值,并根据不同的值执行相应的操作。例如:

代码语言:ruby
复制
def update
  @user = User.find(params[:id])

  if @user.update(user_params)
    if params[:commit] == "Save"
      redirect_to @user, notice: "User was successfully updated."
    elsif params[:commit] == "Save and Continue"
      redirect_to edit_user_path(@user), notice: "User was successfully updated."
    end
  else
    render :edit
  end
end

在这个示例中,我们根据提交按钮的值来决定是重定向到用户详情页面还是继续编辑用户信息页面。

总之,在Rails中,可以使用多个提交按钮来实现不同的功能,并在控制器中根据提交按钮的名称和值来执行相应的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【HTML】HTML 表单 ② ( 按钮表单 | 普通按钮 | 提交按钮 | 重置按钮 | 图片按钮 | 文件域 )

文章目录 一、按钮表单 1、普通按钮 2、提交按钮 3、重置按钮 4、图片按钮 二、文件域 一、按钮表单 ---- 1、普通按钮 将 标签 type 属性设置为 button..."> 小时效果 : 2、提交按钮 将 标签 type 属性设置为 submit , 就可以将该 表单组件 设置为 提交按钮 类型表单...; 提交按钮 默认显示文本信息是 " 提交 " , 通过 value 属性 可以设置 该 提交按钮 显示 文本内容 ; 标签 type 属性设置为 reset , 就可以将该 表单组件 设置为 重置按钮 类型表单 ; 提交按钮 默认显示文本信息是 " 重置 " , 通过 value 属性...="图片按钮"/> 点击 网页 " 选择文件 " 按钮 , 弹出文件选择对话框 ;

8K40

提交到不同URL表单按钮

-- inputs and stuff --> 当你提交表单,它会跳转到/submit。...然后你需要 另一个 提交按钮,跳转到不同URL。为什么需要这样做不重要,任何事都有原因,毕竟网页包含太多东西。 我找到了一些人们尝试处理这个问题其它方法。...其中一种方法是放弃提交到不同URL,但是给每个提交按钮一个相同name,不同value,然后当需要处理不同问题时检查value值。...正确答案HTML已经为你想到了。我猜它或许并没有像它应该那样众所周知,因此才有了这篇文章。 它是formaction属性,你可以直接放在提交按钮里,它会覆盖表单自己action。...---- 往期精选文章 ES6一些超级好用内置方法 浅谈web自适应 使用Three.js制作酷炫无比无穷隧道特效 一个治愈JavaScript疲劳学习计划 全栈工程师技能大全 WEB前端性能优化常见方法

2K30

java表单提交方法_表单提交几种方式

大家好,又见面了,我是你们朋友全栈君。 通用提交按钮–> 2、 提交 3、 说明:用户提交按钮或图像按钮时,就会提交表单。...使用或都可以定义提交按钮,只要将其特性值设置为“submit”即可,而图像按钮则是通过type特性值设置为”image”来定义。因此,只要我们单击一下代码生成按钮,就可以提交表单。...4、阻止表单提交 只要在表单存在上面列出任何一种按钮,那么相应表单控件拥有焦点情况下,按回车键就可以提交表单。如果表单里没有提交按钮,按回车键不会提交表单。...提交表单时可能出现最大问题,就是重复提交表单。在第一次提交表单后,如果长时间没有反映,用户可能会变得不耐烦。这时候,他们也许会反复单击提交按钮。...解决这一问题办法有两个: 在第一次提交表单后就禁用提交按钮; 利用onsubmit事件处理程序取消后续表单提交操作。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

4.9K40

Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据

表单提交时候我们应该控制提交按钮,不能点击多次进行数据重复提交。要不然就会有冗余重复数据在系统,造成系统出现数据垃圾。...jQuery很简单就可以实现对表单提交按钮控制,下面就是相关例子和代码。 [html] view plain copy print ?.../xdp-gacl/p/3859416.html 其实后台控制表单重复提交原理: (1)在表单提交页面生成一个唯一token;token可以保存在session。...(若使用了缓存,也可以保存在缓存) (2)提交时候验证,后台首先验证token,验证通过,才可以进行提交操作; (3)当表单数据提交成功(保存到数据库-持久化),然后删除session(缓存)对应...在页面添加Token防止越权访问-也可做表单重复提交,使用原理也是Token!

3.8K20

Button按钮为什么无缘无故会提交form表单

form表单里有好几个Button按钮,每个按钮有不同功能,可是这些按钮居然都有提交功能,真是把我惊呆了 <button class="btn btn-info " οnclick="do_collection...()" title="非Guest用户可收藏">收藏 这个问题困惑了我好几天一直百思不得其解,然后我就去查了一下button按钮属性,才发现原来是因为我没有指定Button按钮type...属性值,type有三个可选属性:Button,submit,reset,而Button按钮type属性默认值是submit ,所以在没有指定type属性情况下,点击Button按钮触发提交form表单就合情合理了...,所以要想此按钮提交,可以指定Button按钮type属性值为Button <button class="btn btn-info " type="button" οnclick="do_collection

67030

小白前端入门笔记(19),form表单加入提交按钮

大家好,欢迎来到freecodecamp HTML专题第19篇。 今天挑战关于form表单添加提交按钮。...背景知识 在上一次挑战当中我们尝试了给一个input元素添加form表单,但是我们只是添加了表单是不够,用户填好了信息但是少了一个触发上传按钮。...所以今天我们就来说说怎么给form表单添加一个提交按钮。 添加方法非常简单,在HTML当中专门有一个标签就叫做button,它可以在页面上创建一个按钮。...但是并不是随便一个按钮就可以提交信息,我们必须要保证它类型是"submit",这样将它放在表单当中,就可以提交信息了。...要求 你form必须要有button按钮提交按钮必须要有type="submit" 你提交按钮必须要有文本"Submit" 你按钮元素需要有closing tag 编辑器 CatPhotoApp

1.3K30

form实现表单提交各种方法(表单提交源码)

javacript函数来提交表单,方法就非常多非常灵活了,比如可以把它加入到任意一个标签onclick事件: ... 提交 但是,如果一个表单里有需要有多个提交按钮怎么办呢...比如一个表单提交按钮所指向处理页面不同,这样由于表单在定义时候就已经确定下表单数据处理页面,所以单纯地在表单里放多个提交按钮是没有办法达到目的。这就需要javascript。...,而提交功能实现方法是在它onclick事件调用javascript函数....button,要先进行数据验证的话,就必须要将type值设置为”button”,即表示它是一个按钮 这里提交数据’data’,使用了serialize()方法将提交表单值序列化(即a=1&b=2格式

4.3K30

表单提交input、button、submit区别

再加上它样式难以定制、不可作为其他标签容器, 所以建议不要用input作为表单提交按钮。 注意:inputtype属性还可以是button,这时它只是一个按钮,不会引发表单提交。...IE浏览器兼容,请记住button[type]在IE默认值是button,这意味着它只是一个按钮而不会引发表单提交。   ...提交表单时,value会被作为表单数据提交给服务器。 在IE,甚至会把button开始与结束标签之间内容作为name对应提交给服务器。...当表单只有一个单行文本输入控件时,用户代理应当接受回车键来提交表单。 “单行”指的是type为text而非textarea,显然在textarea回车提交表单是怎样难以接受。...其实在实践,有多个单行input也可以用Enter提交,比如登录页面。 4.阻止表单提交 阻止表单提交也是一个常见的话题,通常用于客户端表单验证。

2.9K100

layui踩坑记录之form表单button按钮默认自动提交

首先参考下面这篇文章: layui form表单button按钮会自动提交表单问题以及解决方案_layui form里面其他button按钮_你用点心就行博客-CSDN博客 他说已经很清楚了...,我再补充(啰嗦)一下: 其实就是使用form时候,应该对应有一个提交按钮,配套使用。...layui官网说也是比较清楚,通过给按钮button加上“lay-submit”属性来表示它作为一个提交按钮,标准写法如下: <button class="layui-btn" lay-submit...官方文档地址: 表单组件 form - Layui 文档 因此,当我们在使用form时候,如果没有添加标准提交按钮,会自动默认把其他普通按钮认为是提交按钮,因为buttontype默认值为“submit...使用时注意: 1.在form中使用button时添加type属性:button、submit、reset; 2.在不需要提交场景使用form时尽量使用a标签按钮来代替button,比如筛选功能查询按钮

31220

jsp表单批量提交

remark)) }); $.messager.alert('提示', '保存成功'); 如果数据量不大可以这样直接提交...,如果数据一旦超过几十条那么会造成页面卡顿,同时ie会提示“此脚本运行时间过长,是否终止”,一旦点击是,那么表单就无法直接提交了; 对于有较多行数据,可以将其拼凑成json 然后 提交,效率会大大提高...注意在拼凑json时候要注意符号转义 baseBaseLineFormSubmit=f<c:forEach items="${list...} } }); $.messager.alert('提示', '保存成功'); 记得要用post方式因为get会限制你<em>提交</em><em>的</em>数据<em>的</em>大小...下一步是在后台对json进行处理 首先是duijson格式进行修改去除最后一个元素<em>的</em>逗号;然后将其转换为对应<em>的</em>对象<em>的</em>list ,剩下<em>的</em>就是对list进行遍历处理。

1.4K20

flask表单处理_html表单提交方法

大家好,又见面了,我是你们朋友全栈君。 这里介绍一下Flask表单提交相关方法,还是以代码实例为主。...首先,Flask模板中表单提交代码与我们一般写H5表单无异,当然,Flask也提供了表单类,Flask-WTF扩展。这里只介绍常规表单提交方法。 首先是模板类: <!...但以上程序有一个问题,当提交信息后,地址栏显示信息如下: 如果此时点击刷新按钮,那么会出现以下提示: 这不太友好,要解决这个问题可以使用重定向,Flask提供了redirect函数,用法如下: @app.route...解决办法是在代码中加入: app.config['SECRET_KEY'] = 'myproject'app.secret_key = 'myproject' 当然,通常不同程序使用不同密钥,并且密钥应该保存在环境变量...在进行表单提交操作时,如果我们写错了用户名或者密码,页面往往会给出提示,Flask提供了很方便操作,即使用Flash消息。

2.2K20

jqueryform表单提交

使用jQuery实现Form表单提交在Web开发表单提交是一个常见操作,通过表单提交用户可以向服务器发送数据。...在上面的表单,我们有两个输入框用于输入姓名和邮箱,以及一个提交按钮。...在success回调函数处理提交成功情况,而在error回调函数处理提交失败情况。 通过以上示例,我们使用jQuery实现了一个简单表单提交操作。...Form表单由包含在和标签之间多个表单元素组成。用户可以在表单输入文本、选择选项、上传文件等,然后通过表单提交按钮将这些数据发送给服务器。...htmlCopy code当用户填写完表单后,通过点击提交按钮,浏览器会将表单数据封装成一个HTTP请求,然后发送给服务器

6710
领券