1

我正在尝试将Rails 6 应用程序中所有分页页面的?page=替换为/page/2,这样我就可以根据本指南使用 Page Caching 。

我正在使用 Pagy gem 进行分页,根据他们的文档,我应该能够添加一个辅助方法来覆盖以添加对花哨路线的支持。

我已将此块添加到我的 application_helper.rb

def pagy_url_for(pagy, page)
  params = request.query_parameters.merge(pagy.vars[:page_param] => page )
  url_for(params)
end

但是,在我这样做之后,我得到了这个错误:

 "undefined method `vars' for "__pagy_page__":String"

关于如何解决这个问题的任何想法?

4

3 回答 3

1

我认为他们在教程中混淆了参数。尝试

def pagy_url_for(page, pagy)
  params = request.query_parameters.merge(pagy.vars[:page_param] => page )
  url_for(params)
end
于 2021-06-04T08:58:19.180 回答
0

include Pagy::Frontend进去了application_helper.rb吗?

# application_helper.rb
class ApplicationHelper
  include Pagy::Frontend

  def pagy_url_for(pagy, page)
    params = request.query_parameters.merge(pagy.vars[:page_param] => page )
    url_for(params)
  end
end
于 2021-05-04T16:12:27.813 回答
0

__pagy_page__是在前端和许多扩展中使用的占位符,因此如果没有完整的回溯,您报告的错误将无用。

除了在此处发布回溯,您还可以在特定的Pagey Support中发布您的问题以获得更快的答案。

于 2021-05-22T23:50:52.377 回答