我建立了一个使用由Kaminari支持的AJAX分页的网站。我还设置了简单的过滤和搜索功能,因此您可以在http://example.com/products/filter?query=blah上浏览我的列表。
我正在使用Kaminari的内置link_to_next_page
帮助程序来生成我的下一页链接。出现此问题的原因是,此生成的链接会忽略我的查询/过滤器,将http://example.com/products/filter?query=blah上的任何人发送到http://example.com/products?page=2
我玩过的一个解决方案是重写link_to_next_page帮助器以包含我的过滤器和搜索条件,但这(与所有事情一样)比预期更多的工作。还有更好的方法吗?
答案 0 :(得分:6)
根据link_to_next_page文档,它应该从env获取QUERY_STRING,因此它将保留查询参数
def link_to_next_page(scope, name, options = {})
params = options.delete(:params) ||(Rack::Utils.parse_query(env['QUERY_STRING']).symbolize_keys rescue {})
如果它没有按预期工作,你可以自己传递params
<%= link_to_next_page @items, 'Next Page', :params => params %>