我发现了关于 Kaminari 的类似问题,但是没有一个答案在我的机器上有效。
基本上,当我分页时,页数是正确的,但我重定向到的 URL 是错误的。下面这个是我的控制器中的操作
def index_offered
@machines = Machine.not_sponsored.offered.order("created_at DESC").page(params[:page]).per(5)
end
现在,当我在视图中实现 Kaminari
<%= paginate @machines%>
我获得了 3 页(正确)的分页,链接是:
0.0.0.0:3000/?page=2
0.0.0.0:3000/?page=3
虽然他们应该
0.0.0.0:3000/offered-machinery?page=2
0.0.0.0:3000/offered-machinery?page=3
捕获可以嵌套在路由中吗?这是关于 index_offered 操作的路线
match 'offered-machinery' => 'machines#index_offered', :as => :offered_machinery
我还尝试通过键入在视图中传递参数
<%= paginate @machines , :params => {:controller => "Machines" , :action => 'index_offered'}%>
并取消注释 routes.rb 中的行:
match ':controller(/:action(/:id))(.:format)'
但在这种情况下,我改为获取这些 URL:
0.0.0.0:3000/Machines/offered-machinery?page=2
0.0.0.0:3000/Machines/offered-machinery?page=3
我该如何解决这个问题?