ruby-on-rails - 将按钮单击匹配到表单标记内的新 Rails 控制器方法
问题描述
我有form_tag
一个现有的 submit_tag 映射到 rails 控制器方法。我的.haml
代码如下所示:
.form-group
=form_tag "/set_limits", {id: 'ec2-instance-limit-form'} do |form|
= submit_tag "Increase Limits", {class: "btn btn-danger"}
/set_limits
下面显示了将 url 与 rails 控制器的方法匹配的我的 routes.rb 文件的片段。
match '/set_limits', to: 'limits#handle_limit_request', via: [:post]
我现在在同一页面上添加了一个按钮。
%button.btn.btn-info(id="customer-status" type="button") Customer Status
但是,当我单击此按钮时,请求仍会路由到该handle_limit_request
方法。我想要单击此按钮以通过 POST 路由到新方法的操作,例如limits#check_customer_status
。如何将按钮单击路由到新的控制器方法,同时确保单击submit_tag
静止路由的动作limits#handle_limit_request
?
解决方案
我想要单击此按钮以通过 POST 路由到新方法的操作,例如
limits#check_customer_status
为此,请使用button_to
= button_to "Customer Status", '/check_customer_status', :method => :post, :form_class => "btn.btn-info", id: "customer-status"
注意 - 此按钮(Customer Status)
在页面上的位置应超出form_tag
范围,因为button_to
内部也会生成表单,form within a form
因此可能无法正常工作。
推荐阅读
- c# - 用户是否看过某条推文?推特 API
- python - 从列表中删除换行符
- reactjs - 如何从 React 中的对象中获取数据
- php - 如何使用 php array_search 匹配多维数组中的 2 个键值
- unreal-engine4 - 如何导出虚幻引擎材质?
- ios - 分组 UITableView 顶部的奇数空间?
- c++ - 使 Eclipse CDT 正确忽略我的 GSL 跨度标头
- ajax - Django AJAX 请求仅获取最后一个元素(不是 getlist 问题)
- java - 如何将 2d 数组从 ReactJS 传递到 Java Main?
- java - Android 资源链接在 android 3.2.1 SDK 28.0.3 上失败