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.