我的应用程序中有一个典型的搜索工具,它返回一个结果列表,这些结果可以分页、排序、使用不同的记录每页值查看,等等.每个选项都由查询字符串中的参数控制.一个简单的例子:

/search?q=test&page=2

现在我需要显示一组链接,将每页记录的值设置为10、20、30.每个链接必须包括现有的查询参数(可能是一个很长的集合),以及一个新的每页参数.

/search?q=test&page=2& ... &per_page=10
/search?q=test&page=2& ... &per_page=20
/search?q=test&page=2& ... &per_page=30

有没有一种简单的方法,只需将_链接到helper,或者我需要以某种方式解析并复制来自前一个请求的查询字符串?

推荐答案

link_to 'Link', request.query_parameters.merge({:per_page => 20})

Ruby-on-rails相关问答推荐

使用RubyZip处理大型压缩文件:65535个文件的限制

使用ActiveSupport::TimeWithZone将UTC转换为用户定义的时区

Rails 100% 新手问题 - send() 方法

Rails:用于创建固定长度 char(12) 列的迁移

如何在 to_json 中获取回形针图像的 url

rails 3,简单数组的Kaminari分页

Rails: WickedPDF: 分页符

如何在where子句中组合两个条件?

Heroku 错误 R14(超出内存配额):我该如何解决?

Rails 4网站图标问题

未定义的方法 attr_accessible

Rails data-disable-with re-enable 按钮

如何在不删除项目本身的情况下删除单个 HABTM 关联项目?

Ruby on Rails 错误无法加载此类文件 - 更少

导轨链接到:远程

link_to 将参数与 url 一起发送并在目标页面上抓取它们

加载常量时自动加载常量时检测到循环依赖

如何将 ActionMailer default_url_options 的 :host 动态设置为请求的主机名?

redirect_to 和 render 是可交换的吗?

ArgumentError:ApplicationController 的副本已从模块树中删除,但仍处于活动状态