在自定义路线上与kaminari分页

时间:2012-09-05 09:05:09

标签: ruby-on-rails pagination kaminari

我遇到了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在以下网址上给出了路由错误:

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

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

老实说,我不知道该做什么,一切似乎都适合我,并且找不到关于我案件的kaminari小组或更多文件。

问题似乎是对paginate的调用有点会生成一个页面设置为nil的URL ...

有什么建议吗?

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

1 个答案:

答案 0 :(得分:0)

控制器中的

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

并在您看来<%= page_entries_info @facilities %>&amp; <%= paginate @facilities %>