2010-11-04 28 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