Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 619063
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T18:36:52+00:00 2026-05-13T18:36:52+00:00

I need to implement a custom error page in my rails application that allows

  • 0

I need to implement a custom error page in my rails application that allows me to use erb.

I’ve been following this tutorial (http://blog.tommilewski.net/2009/05/custom-error-pages-in-rails/) and I cannot get it to work locally (or remotely). I am running Rails 2.3.5

Here’s the gist of the approach.

1) in the ‘application_controller’, I over ride the “render_optional_error_file(status_code)” method, and set the visibility to “protected”, like this.

protected

def render_optional_error_file(status_code)
  known_codes = ["404", "422", "500"]
  status = interpret_status(status_code)

  if known_codes.include?(status_code)
    render :template => "/errors/#{status[0,3]}.html.erb", :status => status, :layout => 'errors.html.erb'
  else
    render :template => "/errors/unknown.html.erb", :status => status, :layout => 'errors.html.erb'
  end
end

def local_request?
  true
end

I also created a folder within views called errors and created the following views: 404.html.erb, 422.html.erb, 500.html.erb,unknown.html.erb and I created a new layout “errors.html.erb”

I can’t seem to get it to work. I’ve been trying to trigger the 404 page by navigating to http://localhost:3000/foobar — but, instead of getting the new 404.html.erb, I seem to be getting the standard apache 500 error. This happens when I try both mongrel_rails start and mongrel_rails start -e production.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T18:36:52+00:00Added an answer on May 13, 2026 at 6:36 pm

    I would suggest using exceptions to render such error pages, so you can use inheritance to group your error messages…

    First, declare some (I usually do it in application_controller.rb)

    class Error404 < StandardError; end
    class PostNotFound < Error404; end
    

    Then add code to ApplicationController to handle them

    class ApplicationController < ActionController::Base
    
      # ActionController::RoutingError works in Rails 2.x only.
      # rescue_from ActionController::RoutingError, :with => :render_404
      rescue_from Error404, :with => :render_404
      rescue_from PostNotFound, :with => :render_post_not_found
    
    
      def render_404
        respond_to do |type| 
          type.html { render :template => "errors/error_404", :status => 404, :layout => 'error' } 
          type.all  { render :nothing => true, :status => 404 } 
        end
        true
      end
    
      def render_post_not_found
        respond_to do |type| 
          type.html { render :template => "errors/shop_not_found", :status => 404, :layout => 'error' } 
          type.all  { render :nothing => true, :status => 404 } 
        end
        true
      end
    end
    

    This renders errors/error_404 with the errors layout. Should get you started 🙂

    And in your target_controller:

    raise PostNotFound unless @post
    

    Edit

    Note for Rails 3

    for a longer explanation on why ActionController::RoutingError doesn’t work for rails 3:
    Rails 3.0 Exception Handling.

    Rails ticket 4444

    “If your application relies on engines that extend your app with their
    own routes, things will break because those routes will never get
    fired!”

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 304k
  • Answers 304k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer If you absolutely insist on encrypting your assembly, probably the… May 13, 2026 at 8:50 pm
  • Editorial Team
    Editorial Team added an answer It's calling the insert method on the Zend_Db_Table_Abstract class. The… May 13, 2026 at 8:50 pm
  • Editorial Team
    Editorial Team added an answer Consider the quality of a thumbnail image relative to a… May 13, 2026 at 8:50 pm

Related Questions

I have built an executable which launches a dialog box in which is embedded
I'm trying to create a custom webpart. To implement error handling I would like
I'm trying to implement the Media Player custom field control described in this MSDN
I've had to create a custom membership provider for my current ASP .Net project
I am implementing a custom list definition that contains several columns. A requirement to

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.