Search code examples
ruby-on-railsruby-on-rails-3actionviewmissing-template

Render default template on MissingTemplate Errors


How can I catch the ActionView::MissingTemplate errors in Rails?

For example, my PeopleController has an Index method, but it doesn't need a template. When someone browses to root_url/people they get the default static error template.

And that's not the only controller with the issue; I want all missing template errors to redirect the user to my custom view.

  1. How to catch the exception?
  2. How to render a view afterwards?

Rails version - 3.0.19

Thanks in advance!


Solution

  • Possible duplicate of: render default template when requested template is missing in Rails

    Which says:

    Use 'rescue_from' in ApplicationController:

    class ApplicationController < ActionController::Base
      rescue_from ActionView::MissingTemplate do |exception|
        # use exception.path to extract the path information
        # This does not work for partials
      end
    end