Kaminari在视图中的url错误



我发现了关于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

捕获是否可以嵌套在路由中?这里是关于索引提供动作的路径

  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

我该如何解决这个问题?

尝试将控制器名称更改为"machines":

{:controller=>"machines",:action=>"index_offered"}%>

最新更新