Vin*_*ent 45 parameters routing ruby-on-rails helpers
我的应用程序中有一个典型的搜索工具,它返回一个结果列表,可以对其进行分页,排序,使用不同的records_per_page值进行查看等.每个选项都由查询字符串中的参数控制.一个简化的例子:
/search?q=test&page=2
Run Code Online (Sandbox Code Playgroud)
现在说我需要显示一组将records_per_page值设置为10,20,30的链接.每个链接必须包含现有的查询参数,这些参数可以是一个非常长的集合,加上一个新的per_page参数.
/search?q=test&page=2& ... &per_page=10
/search?q=test&page=2& ... &per_page=20
/search?q=test&page=2& ... &per_page=30
Run Code Online (Sandbox Code Playgroud)
是否有一个简单的方法只使用link_to帮助器或我需要以某种方式解析并重现先前请求的查询字符串?
Vin*_*ent 64
link_to 'Link', request.query_parameters.merge({:per_page => 20})
Run Code Online (Sandbox Code Playgroud)
Cle*_*ens 18
将新参数与查询参数合并而不与所有参数(包括通过路径获得的参数)合并的最简单方法是与request.query_parameters合并
link_to 'Search', search_path(request.query_parameters.merge({ per_page: 20 }))
Run Code Online (Sandbox Code Playgroud)
否则,您最终会使用复制路径参数的查询字符串,例如,?action=index&controller=products&foo=bar
而不是?foo=bar
.
归档时间: |
|
查看次数: |
26518 次 |
最近记录: |