自定义网址上的kaminari分页

时间:2015-01-27 07:55:13

标签: ruby-on-rails kaminari

我有一个由kaminari paginate生成的url案例,因为url取决于条件。这是我的路线

concern :search do
  scope '/search', as: :search do
    get '/', to: 'users#search'
    get '/schedule/:id', to: 'schedules#doctor', as: :schedule
  end
end

concerns :search

scope :dashboard, as: :dashboard do
  concerns :search
end

如您所见,:search可通过/search/dashboard/search访问。问题是,paginate @doctors提供/search基本上会转到search_path,即使我在dashboard_search_path(它应该提供/dashboard/search路径)。

我的问题是,如何将自定义路径传递给paginate?我希望paginatesearch_path打开/search时使用dashboard_search_path,并在我/dashboard/search/path时使用/search

您无需提供如何决定/dashboard/searchpaginate,我只需要知道如何将其作为参数传递给{{1}}。 TA

2 个答案:

答案 0 :(得分:0)

Kaminari接受分页参数,其中一个是params用于链接。它在滑轨中的作用与url_for相同。没有测试,但尝试在仪表板页面上应该可以。

paginate @doctors, params: { script_name: "/dashboard" }

来自url_for的文档:

  

:script_name-指定相对于域根的应用程序路径。如果提供,则添加应用程序路径。

答案 1 :(得分:0)

使用 url 参数进行分页,并在 proc 中使用自定义代码来定义最终网址:

paginate @doctors, url: proc{|page| some_condition ? search_path : dashboard_search_path}