カミナリに問題があります。カスタムの「unRestful」URL を使用すると、結果をページ分割できないようです。
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 なしでページを呼び出すと、すべてが期待どおりに機能し、最初のページが表示されます。カミナリを次のように使用する場合:
<%= 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}
正直なところ、何をすべきかわかりません。すべてが正しいように思えますが、私のケースに関するカミナリ グループやその他のドキュメントを見つけることができませんでした。
問題は、paginate の呼び出しによって、ページが nil に設定された URL が生成されることです...
なにか提案を?
レールを使う (3.2.8) カミナリを使う (0.14.0)