2015-11-05 47 views
5

在創建新的Rails應用程序時,默認情況下,它將在/處提供「Welcome to Rails」頁面,除非您在routes.rb中指定了替代root我可以在不創建新的Rails應用程序的情況下刪除默認的根嗎?

我的應用程序當前只服務於一個子路徑(例如/api/v1/),因此訪問/應該導致404錯誤。我該怎麼做到這一點?

+0

例如,'root to:'home#no_root'',它會渲染一個404 –

+0

這似乎工作;有沒有更好的方法來做到這一點? – DanielGibbs

+0

應用程序通常有一個根:) –

回答

5

如果你想渲染一個404響應,我可以考慮兩種方法。

首先,你可以路線機架,並返回一個簡單的404響應:

# config/routes.rb 
root to: proc { [404, {}, ["Not found."]] } 

其次,你可以採取明顯的路線,點根返回404控制器動作:

# config/routes.rb 
root to: "application#not_found" 

# app/controllers/application_controller.rb 
def not_found 
    render text: "Not found.", status: 404 
end 

第三種選擇當然是路由到一個不存在的動作,但我不認爲這是一個好主意,因爲意圖是模糊的,並且很容易被誤認爲是錯誤的。

相關問題