2012-10-15 80 views
1

我使用Sinatra和Sinatra驗證寶石來構建網站。覆蓋寶石中的sinatra路線

我想覆蓋一些路線的邏輯之一,但不知道最好的方法來處理它。

+0

您可能會考慮添加您正在使用的寶石的版本,以供將來閱讀此內容的人使用。 – iain

回答

1

Sinatra README

路線中定義它們的順序是匹配的。匹配請求的第一條路由被調用。

因此,舉例來說,如果你想覆蓋在「/ LOGGED_IN」的邏輯路線,你可以這樣做:

get "/logged_in" do 
    # your code here 
end 

register Sinatra::Authentication 

和您的路線將被編譯第一和sinatra-定義的認證將不會被調用。

+0

如果我要將我的應用程序更改爲Sinatra Modular應用程序,但這樣做可能會有效,但我目前將其作爲Sinatra Classic應用程序運行,並且不想將其轉換。 – timmillwood

+1

好的,但它是像4行代碼轉換... – iain