簡體   English   中英

如何在 Rails 6 應用程序中為 Pagy Gem 啟用奇特路由

[英]How to enable fancy-routes for Pagy Gem in Rails 6 app

我正在嘗試將 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"

關於如何解決這個問題的任何想法?

我認為他們在教程中混淆了參數。 嘗試

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

您是否在application_helper.rbinclude Pagy::Frontend

# 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

__pagy_page__是在前端和許多擴展中使用的占位符,因此如果沒有完整的回溯,您報告的錯誤將毫無用處。

除了在此處發布回溯,您還可以在特定的Pagey Support中發布您的問題以獲得更快的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM