任何想法将标记路线与上面的其他路线分组,同时不破坏下面的路线

时间:2017-11-07 04:59:57

标签: ruby-on-rails routes

我们要求拥有以下网址结构 site.com/tag-name

我们目前的路线如下。

get '/posts/:something' => 'mypage#post'

get '/whatever' => 'mypage#whatever'
get '/about' => 'mypage#about'

get '/:tag', to: 'mypost#tag'

无论如何将上面的/:tag路线移到上面的另一条路线而不打破下面的路线? 例如,如果我在上方移动/:tag路线,则/whatever/about将无效。

get '/posts/:something' => 'mypage#post'
get '/:tag', to: 'mypost#tag'

get '/whatever' => 'mypage#whatever'
get '/about' => 'mypage#about'

1 个答案:

答案 0 :(得分:0)

您可以尝试advanced constraints,警告:看起来很难看

像这样:

# routes
get '/posts/:something' => 'mypage#post'
get ':tag', to: 'mypost#tag',
    constraints: lambda { |request| not ["whatever", "about"].include?(request.params[:tag]) }

get '/whatever' => 'mypage#whatever'
get '/about' => 'mypage#about'