我们要求拥有以下网址结构
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'
答案 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'