轨道 - 如何处理不存在的路线("No route matches [GET]")?



我的route看起来像

match 'about' => 'company#about'

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

No route matches [GET] "/aboutttt"

我想给用户比这更好的反馈。

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

当你在开发时。通过设置在 config/environment/development.rb 中进行更改: config.consider_all_requests_local = false

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

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

config/environments/production.rbconfig/environments/development.rb(我不记得是哪种方式)中有一个设置,用于控制是否将异常呈现为视图。这是用于生产 - 相反,你会得到 404.html 这是在 public ,你可以随心所欲地改变。

最新更新