Rails 3.0 でカスタムの 404 ページを出力する方法は?

Rails 3.0.7 で、カスタムの 404 エラーページを動的に出力する方法を教えてください。

以下のように ApplicationController で rescue_from メソッドを使って例外を捉えるようにしてみたんだけど、一番上の Exception のものしか思った通りには動いてない様子。

RoutingError に関しては Rails 3.0 rescue from Routing Error Solution のページの通りやればうまくできました。
ActionNotFound とかも rescue_from では捉えられないってこと?

class ApplicationController < ActionController::Base

  rescue_from Exception, :with => :render_error
  rescue_from ActiveRecord::RecordNotFound, :with => :render_not_found
  rescue_from AbstractController::ActionNotFound, :with => :render_not_found
  rescue_from ActionController::UnknownController, :with => :render_not_found
  rescue_from ActionController::UnknownAction, :with => :render_not_found

  def render_not_found
    render :file => "#{RAILS_ROOT}/public/404.html", :status => '404 Not Found', :layout => '/layouts/application'
  end

  def render_error
    render :file => "#{RAILS_ROOT}/public/500.html", :status => '500 Internal Server Error', :layout => '/layouts/application'
  end

end

Rails 3 の情報がまだ少ない。というか、「Rails3 ○○ △△」みたいにちょっと込み入ったことを検索すると古いバージョンの内容ばかりヒットしてしまうので、情報を探しにくいのが今の不満。

Last updated on July 10, 2015