Kaminari和页面路由

时间:2012-05-22 10:14:50

标签: ruby-on-rails-3 pagination kaminari

我在自定义页面上使用kaminari分页,但它生成/基于资源的URL:

http://localhost:3000/assets?action=my&controller=blogs&page=2

我需要:

http://localhost:3000/blogs/my?page=2

错误:

No route matches [GET] "/assets"

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

我尝试使用Kaminari或Will_paginate进行自定义操作的分页时遇到了完全相同的问题。事实证明问题出在我的routes.rb文件中。

例如,我的自定义操作在'cards'控制器中称为'all_credit'。以前在routes.rb我有:

match '/cards_credit' => 'Cards#all_credit'

这给了我上面描述的相同行为并生成基于资源/的网址。

将routes.rb中的行更改为:

match '/cards_credit(/:page)', :controller => 'cards', :action => 'all_credit'

我能够解决这个问题,现在正在正确生成分页链接。

答案 1 :(得分:1)

我通过添加控制器参数来解决。

<%= paginate @blog , :params => {:controller => "GoogleUsers"} %>