代码之家  ›  专栏  ›  技术社区  ›  Ethan Turkeltaub

Sinatra路由例外

  •  4
  • Ethan Turkeltaub  · 技术社区  · 16 年前

    我希望能够执行以下操作:

    get '/:slug' do
      haml :page
    end
    
    get '/administration' do
      haml :admin
    end
    

    我有办法吗 get '/:slug' do 对/管理有例外吗?我知道你可以用if-else语句来实现这一点:

    get '/:slug' do
      if params[:slug] == 'administration'
        haml :admin
      else
        haml :page
      end
    end
    

    但看起来不太干净。有没有办法例外的路线?

    1 回复  |  直到 16 年前
        1
  •  7
  •   Mladen Jablanović    16 年前

    西纳特拉应该尊重路线的顺序,所以如果你 /administration 先路由,请求与之匹配, get '/:slug' 一点也不会被召唤。