因此,在我們的Rails 4.2應用程序中,有一個alchemy_cms gem,它需要將其路由最後安裝在config/routes.rb中。如何在鍊金術cms gem中處理Rails 4中的路由錯誤?
SampleApp::Application.routes.draw do
#other routes for the rails app here
# :
# :
mount Alchemy::Engine => '/'
end
我們得到「/ somehacker/routingurl」,然後掉下來的鍊金術::引擎來處理,導致默認的500錯誤路線。如果我想做一個自定義的404錯誤,那麼正確的方法是建立一個自定義的404頁面,並讓Alchemy處理重定向?否則,因爲鍊金術文檔指定它必須是config/routes.rb中的最後一個路徑,所以不會有辦法添加一個catchall路徑來重定向到我假設的某種錯誤頁面。
編輯:
其中的一個問題是,有一些路線是一樣的無效「somehacker」上面這條路線也需要由鍊金術路由引擎解析,如「/ EN/US」其中「en」是有效的語言環境。這就是爲什麼我最初想把路由處理放在Alchemy引擎的路由文件中。
看看這一個想法:http://stackoverflow.com/questions/4132039/rails-redirect-all-unknown-routes-to-root-url –