3

我建立了一个使用由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 帮助器以包含我的过滤器和搜索词,但这(与所有事情一样)比预期的要多。有没有更好的办法?

4

1 回答 1

7

根据 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 {})

如果它没有按预期工作,您可以自己传递参数

<%= link_to_next_page @items, 'Next Page', :params => params %>
于 2013-08-01T00:14:30.280 回答