Benutzerdefinierte Fehlerseite - Ruby on Rails

Ich versuche zu setup eine benutzerdefinierte Fehlerseite in meiner website. Ich bin nach der Anleitung aufPerfectLine Blog.

Funktioniert es in dem Fall, wo der controller vorhanden ist, aber die id nicht vorhanden ist. Zum Beispiel, ich habe einen blog, Steuerung und id-4 nicht vorhanden. Es zeigt die benutzerdefinierte Fehlerseite

Aber es existiert nicht in dem Fall, wo der controller selbst ist nicht vorhanden. Zum Beispiel, wenn ich Tippen Sie einige zufällige controller mit einer numerischen id nicht bekommt gefangen von den Methoden, die ich haben das setup in der Anwendung-controller zu re-route, benutzerdefinierte Fehlerseiten. In diesem Fall bekomme ich eine

ActionController::RoutingError (No route matches "/randomcontrollername"):

in der terminal-und der Standard-Fehler-Seite, die kommt mit Schienen.

application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery

  unless Rails.application.config.consider_all_requests_local
    rescue_from Exception,                            :with => :render_error
    rescue_from ActiveRecord::RecordNotFound,         :with => :render_not_found
    rescue_from ActionController::RoutingError,       :with => :render_not_found
    rescue_from ActionController::UnknownController,  :with => :render_not_found
    rescue_from ActionController::UnknownAction,      :with => :render_not_found
  end

  private
  def render_not_found(exception)
     render :template => "/error/404.html.erb", :status => 404
  end

  def render_error(exception)
    render :template => "/error/500.html.erb", :status => 500 
  end

end

Könnten Sie mir bitte helfen. Danke.

InformationsquelleAutor felix | 2010-12-24
Schreibe einen Kommentar