为Rails 4和will_paginate定义漂亮的URL

时间:2013-10-21 03:27:52

标签: ruby-on-rails pagination routes ruby-on-rails-4 will-paginate

我正在使用will_paginate作为应用程序的主页,这是static_pages控制器的主页操作。

root 'static_pages#home'

will_paginate网址如下

http://localhost:3000/static_pages/home?page=3

我更喜欢在那里取出控制器名称并使其看起来像

http://localhost:3000/home?page=3

甚至可以像

那样漂亮
http://localhost:3000/home/3

我的分页看起来像这样

will_paginate @product_feed_items, :page_links => false, :previous_label => "Newer", :next_label => "Older"

我试过这样的事情没有运气

will_paginate(@product_feed_items, :params => { :controller => "static_pages", :action => "home" }, :page_links => false, :previous_label => "Newer", :next_label => "Older") 

有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

如果您只是为了少数几个动作而想要这样做,请尝试:

get "home(/:page)" => "static_pages#home"

答案 1 :(得分:1)

您需要通过routes.rb文件执行此操作。请在此处查看路线指南:http://guides.rubyonrails.org/routing.html

特别是关于非资源路线的第3部分。