Emili Parreño

Manejo de excepciones en Rails

07 Apr 2009 | Rails

Una mala práctica habitual en Rails es no manejar correctamente las excepciones. Algunas excepciones comunes son: ActiveRecord::RecordNotFound, ActionController::RoutingError o ActionController::UnknownAction. Para poder manejar estas excepciones y realizar una acción determinada cuando se produzcan se puede utilizar el método rescue_from. Veamos un ejemplo:

class ApplicationController < ActionController::Base 
  rescue_from ActiveRecord::RecordNotFound, :with => :record_not_found 
  
  private 
  def record_not_found 
    render :file => "#{RAILS_ROOT}/public/404.html", :status => 404 
  end 
end

Más información Rails API: rescue_from Rescue from dispatching