3

我遇到了 kaminari 问题,使用自定义“unRestful”网址时似乎无法对结果进行分页。

resources :provinces, :path => '', :only => [ :show ] do
  resources :sports, :only => [ :show ] do
    match ':page', :controller => 'facilities', :action => 'index'
  end
end

因此,/:foo/sports/:bar 指向一个控制器,/:foo/sports/:bar/1 指向另一个 1。这是一个令人作呕的 URL 方案,但我现在没有能力更改规范。

如果我在没有 Kaminari 的情况下调用该页面,一切都会按预期进行,我会看到第一页。当我使用 Kaminari 时:

<%= paginate @facilities, :params => { :controller => 'facilities', :action => 'index' } %>

Rails 在以下 URL 上给我一个路由错误:

http://lvh.me:8080/milano/sports/palestra/1

No route matches {:controller=>"facilities", :province_id=>"milano", :sport_id=>"palestra", :page=>nil}

老实说,我不知道该怎么做,一切对我来说似乎都是正确的,并且找不到关于我的案子的 kaminari 小组或更多文档。

问题似乎是对分页的调用在某种程度上生成了一个页面设置为 nil 的 URL ...

有什么建议吗?

使用 rails (3.2.8) 使用 kaminari (0.14.0)

4

1 回答 1

0

在控制器中

 @facilities = kaminari.paginate_array(@facilities).page(params[:page]).per(params[:per_page])

在你看来<%= page_entries_info @facilities %>&<%= paginate @facilities %>

于 2014-05-14T06:42:08.240 回答