Ruby 将不使用当前路由进行分页

Ruby 将不使用当前路由进行分页,ruby,ruby-on-rails-3,will-paginate,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_ins

我们正在使用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

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

不确定这是否是正确答案,但这可能会帮助您将路由顺序更改为

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

因为路由是按指定的顺序匹配的

是的,我查过了,是Rails 2的。我仍然认为这对我有帮助,但你试图改变这些路线的顺序,真是倒霉。i、 e.从第一到最后,从最后到第一?是的,这就是我最后所做的——只是改变路线的顺序——做一个答案,我会把它标记为正确!