err_merchant

<img src=“https://secure.travis-ci.org/fschwahn/err_merchant.png” />

This is a very simple Rails Engine for replacing the standard (ugly) Rails exception pages with pages which are rendered in your layout. There are several gems out there that do the same, but this one takes the approach proposed by AccUser. I just made a gem out of it because I use it in every project. This solution works seamlessly with Airbrake.

Installation

Add the gem to your Gemfile, run ‘bundle install` and restart your server:

gem 'err_merchant'

This is it. If you want to check the error pages in development mode, make sure to set config.consider_all_requests_local to false and restart your development server.

Should I keep the standard Rails error pages around?

Yes, these files are used as a fallback if err_merchant itself raises an exception. This can happen if there is an error in your application layout.

Configuration

  • ErrMerchant.layout: Can be used to set the layout for the error pages. By default the application-layout is used.

I18n

You can translate the error messages, by default they are the same as the standard Rails errors:

err_merchant:
  '404':
    title: "The page you were looking for doesn't exist."
    description: "You may have mistyped the address or the page may have moved."
  '422':
    title: "The change you wanted was rejected."
    description: "Maybe you tried to change something you didn't have access to."
  '500':
    title: "We're sorry, but something went wrong."
    description: "We've been notified about this issue and we'll take a look at it shortly."

Please note that there are translations missing in development mode if you don’t supply translations for your locale. In production however, config.i18n.fallbacks is usually set to true, so the error messages for the default locale will be shown if the lookup is not successful.

Changelog

0.2.0 (2012-01-30)

  • only supports rails 3.2 (code cleanup)

0.1.2 (2012-01-12)

  • added configuration option for layout

0.1.1 (2012-01-12)

  • fix gemspec

  • add test for fallback to standard rails error pages

  • fix issue with CanCan

0.1.0 (2012-01-11)

  • Initial release

License

This project rocks and uses MIT-LICENSE.