If you want to display to your users meaningful errors instead of simple "sorry, something went wrong", Rails has a nice utility for the purpose.
Open the file app/controllers/application_controller.rb
and you should find something like this:
class ApplicationController < ActionController::Base protect_from_forgery with: :exception end
We can now add a rescue_from
to recover from specific errors:
class ApplicationController < ActionController::Base protect_from_forgery with: :exception rescue_from ActiveRecord::RecordNotFound, with: :record_not_found private def record_not_found render html: "Record <strong>not found</strong>", status: 404 end end
It's recommended not to rescue from Exception
or StandardError
otherwise Rails won't be able to display helpful pages in case of errors.