jrocc
jrocc

Reputation: 1346

Rails exception_handler gem not updating 404 page

I am using the exception_handler gem to make a custom 404 page. When I go to the 404 page on my site and it shows not found but how do I customize this page? I tried changing the routes, make errors_controller and not_found view.

application.rb

config.exceptions_app = self.routes

routes.rb

  get "/404", :to => "errors#not_found"
  get "/422", :to => "errors#unacceptable"
  get "/500", :to => "errors#internal_error"

errors_controller.rb

class ErrorsController < ApplicationController

  def not_found
    render :status => 404   end

  def unacceptable
    render :status => 422   end

  def internal_error
    render :status => 500   end

end

app/views/errors/not_found.html.erb

<label> TEST 404 Label </label>

Upvotes: 0

Views: 363

Answers (2)

jrocc
jrocc

Reputation: 1346

I forgot to run rails g exception_handler:views this generated all the views in my project file now I can customize them to my liking.

Upvotes: 1

Stephen W
Stephen W

Reputation: 244

It's very possible that you have configured those pages properly and that the code would work but just not for the environment that you're working in. In the directory config/environments you should have three files: development, test, production. When you're working in development it won't render those pages you've created as it's defaulting to Rails errors. You should check in config/environments/development.rb and see what you have config.consider_all_requests_local set to. You can change this to false, reset the router and be able to see the error pages, then swap it back to true when moving on to further development. Please note that the implementation you've used looks like an alternative to the exception_handler gem and would handle errors instead of that gem.

You can find more info here in Rails guides: http://guides.rubyonrails.org/configuring.html#rails-general-configuration

Upvotes: 1

Related Questions