我们使用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默认为第一条路线?
答案 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