2010-11-04 44 views
3

默认的Rails会呈现404.html,那么它认为404错误是合适的。不过,我想通过自定义页面来制作它。请建议正确的方法。Rails中的自定义404动作

回答

3

你可以使用render_404 monkey patching.

或者,你可以在你的路由文件,它去返回404个状态码的动作底部设置一条缺省路由。

理想情况下,如果您不想在404中使用任何自定义代码,则可以编辑最简单的静态404.html。

+0

有一个断开的链接。 – 2014-06-17 20:17:51

4

这个答案是出奇的难找。

如果您想要一个静态页面,请编辑404.html。完成。

如果你想有一个动态页面,则:

在配置/ routes.rb中

match '*not_found', to: 'errors#error_404' unless Rails.application.config.consider_all_requests_local 

注释掉unless子句测试本地开发机上404页。

生成一堆文件:

rails generate controller errors error_404 

编辑views/errors/error_404.html.erb定制。

这适用于Rails 3.1和3.2.2。

+1

其他状态代码(如500或422)的动态错误页面的代码如何? – sambehera 2013-02-19 03:07:28

+1

伟大的解决方案!比我在这个问题上发现的其他答案简单得多。谢谢。 – jfdimark 2013-03-13 09:52:33