will_paginate不使用当前路线

时间:2012-10-25 18:22:33

标签: ruby ruby-on-rails-3 will-paginate

我们使用will_paginate来显示模型的关联。我们设置了一些自定义路线:

get '/profile/:slug' => 'talents#show', :as => :talent
get '/profile/:slug/bio' => 'talents#show', :as => :talent_bio
get '/profile/:slug/instagram' => 'talents#show', :as => :talent_instagram

当我们使用talent_instagram路线时,所有分页链接都会呈现为默认路线。也就是说,而不是:

http:://0.0.0.0:3000/profile/some-talent/instagram?page=5

这就是我们得到的:

http:://0.0.0.0:3000/profile/some-talent?page=5

如果我注释掉前两条路线,则使用正确的链接。为什么will_paginate默认为第一条路线?

2 个答案:

答案 0 :(得分:2)

将路线的顺序更改为

get '/profile/:slug/instagram' => 'talents#show', :as => :talent_instagram
get '/profile/:slug/bio' => 'talents#show', :as => :talent_bio
get '/profile/:slug' => 'talents#show', :as => :talent

因为路线按照指定的顺序匹配!

答案 1 :(得分:0)

不确定这是否是正确答案,但这可能会对您有所帮助Rails will_paginate custom route