Rails - 如何处理不存在的路由("没有路由匹配[GET]")?

use*_*621 4 ruby routes ruby-on-rails-3

我的route样子

match 'about' => 'company#about'
Run Code Online (Sandbox Code Playgroud)

当我设置为URL时http://localhost:3000/aboutttt,我收到错误消息

No route matches [GET] "/aboutttt"
Run Code Online (Sandbox Code Playgroud)

我想给用户更好的反馈.

我认为最好的解决方案可能是重定向应用程序,或者在应用程序的主页上,但是当我得到上述错误时,以任何方式存在于路由中以设置默认路由?

Rus*_*ell 5

在环境设置为生产的情况下运行您的应用程序,我想您会发现您将不再看到此消息。在您开发时进行调试很方便。

config/environments/production.rbor 中有一个设置config/environments/development.rb(我不记得是哪一个)控制异常是否呈现为视图。这对于生产来说是关闭的 - 相反,您将获得 404.html,public您可以随意更改。


ime*_*emi 5

当你在发展.通过设置:在config/environments/development.rb中进行更改: config.consider_all_requests_local = false

这将禁用完整的错误报告,而是显示一个包含用户交互式响应的页面.但是这已经在生产环境中禁用了.但我不建议在开发模式下将其关闭.