आप इसे इस तरह से कर सकते हैं:
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" बना रहे हैं जो अपवाद के रूप में काम करेगा। उठाना का उपयोग करके, आप अपवाद के रूप में "NotActivated" फेंक सकते हैं। रेस्क्यू_फ्रॉम एक निर्दिष्ट विधि के साथ एक अपवाद को पकड़ने का तरीका है (इस मामले में not_activated)। काफी लंबा उदाहरण है, लेकिन यह आपको दिखाता है कि यह कैसे काम करता है।
शुभकामनाएं,
फैबियन