所以在我们的 Rails 4.2 应用程序中,有一个 alchemy_cms gem,它要求它的路由最后安装在 config/routes.rb 中。
SampleApp::Application.routes.draw do
#other routes for the rails app here
# :
# :
mount Alchemy::Engine => '/'
end
我们得到像“/somehacker/routingurl”这样的路由,然后由 Alchemy::Engine 处理,导致默认的 500 错误。如果我想做一个自定义 404 错误,那么正确的方法是构建一个自定义 404 页面并让 Alchemy 处理重定向?否则,由于 Alchemy 文档指定它必须是 config/routes.rb 中的最后一条路由,因此无法添加一条包罗万象的路由以重定向到我假设的某种错误页面。
编辑:
问题之一是有一些类似于上面无效的“somehacker”路由的路由确实需要由 Alchemy 路由引擎解析,例如“/en/us”,其中“en”是有效的语言环境。这就是我最初想将路由处理放在 Alchemy 引擎的路由文件中的原因。