다음과 같이 할 수 있습니다.
class UsersController < ApplicationController
## Exception Handling
class NotActivated < StandardError
end
rescue_from NotActivated, :with => :not_activated
def not_activated(exception)
flash[:notice] = "This user is not activated."
Event.new_event "Exception: #{exception.message}", current_user, request.remote_ip
redirect_to "/"
end
def show
// Do something that fails..
raise NotActivated unless @user.is_activated?
end
end
여기서 수행하는 작업은 예외 역할을하는 "NotActivated"클래스를 만드는 것입니다. raise를 사용하면 "NotActivated"를 예외로 던질 수 있습니다. rescue_from은 지정된 메소드 (이 경우 not_activated)로 예외를 포착하는 방법입니다. 꽤 긴 예이지만 어떻게 작동하는지 보여줄 것입니다.
최고의 소원,
Fabian