seo的'seginate'嵌套'rails路由

时间:2015-07-22 21:24:38

标签: ruby-on-rails routes kaminari

我需要弄清楚如何正确使用路由来创建这样的url结构:

项/页/ 2

项/过期/页/ 2

我有项目/页面/ 2工作,然后我有这个我想纠正: 项目/过期?页= 2

我正在使用Kaminari为rails 4.2提供漂亮的url结构。 https://github.com/amatsuda/kaminari/#creating-friendly-urls-and-caching

我的控制器有两个动作:索引和过期

我在项目下的观点是index.html.haml和expired.html.haml

的routes.rb

concern :paginatable do
  get '(page/:page)', :action => :index, :on => :collection, :as => ''
end

concern :expired_paginatable do
  get '(page/:page)', :action => :expired, :on => :collection, :as => ''
end

get 'items/expired', to: "items#expired", :concerns => :expired_paginatable
resources :items, :concerns => :paginatable

我的观点都有:

= paginate @items

我知道我不需要两个问题,但我想我会尝试一下。

1 个答案:

答案 0 :(得分:1)

我最终将资源块更改为:

.class

滴:

resources :items do
  collection do
    get 'expired/page/:page', :action => :expired
    get :expired
  end
  concerns :paginatable
end