ruby-on-rails - Rails从表单传递参数以保持排序顺序
问题描述
我试图在我的表单中传递一个隐藏的参数,以维护我的列表的排序顺序。我能够毫无问题地传递查询参数,但似乎无法将自定义参数传递给控制器。我不确定如何正确执行此操作,并且尝试使用f. hidden_param
但没有成功。
该表格与刺激反射相关联,并在每次按键时提交。
任何帮助,将不胜感激。
<%= form_with url: x_path, method: :get do |f| %>
<%= f.text_field :query, value: params[:query] %>
<% end %>
解决方案
首先,您甚至不需要表单,并且实际上无法在 GET 请求中传递“隐藏参数”,因为没有请求正文。
在 GET 中,服务器收到的唯一内容是请求 URI 和客户端发送的任何标头(例如 cookie)。如果要向 GET 请求添加参数,只需将它们添加到查询字符串中:
<%= link_to 'Link text', x_path(query: { foo: 'bar' }) %>
结果与您创建带有隐藏输入的表单相同。在控制器端,请求正文和查询字符串参数之间存在差异。两者都添加到params
哈希中。
推荐阅读
- c# - 使用 pfx 证书在 MVC 中创建 ASMX Web 服务
- ruby-on-rails - 根据用户角色 + cancancan + rails 管理具有命名空间的控制器
- angular - 在 Angular 组件中显示 JSON 数据
- prometheus - 在 prometheus.yml 中使用来自黑盒导出器的正则表达式捕获组
- android - React Native 的可行性
- c++ - OpenCL中结构数组中的动态数组
- angular - Angular 6 - 路由到惰性模块的子模块不起作用
- php - Laravel - 自动执行排队的作业
- java - 如何将数据推送到可以使用 REST 创建总帐的 SAP
- asp.net-mvc - ASP.NET Core Razor SDK 类库 - 不在区域目录中的区域视图