Rails 3 rescue_from, с пользовательскими модулями и работаем с ними - PullRequest
3 голосов
/ 21 декабря 2010

Я пишу приложение на Rails, которое хочу высушить чуть-чуть, и вместо того, чтобы вызывать свой собственный класс ошибок в верхней части каждого контроллера, в котором я нуждаюсь, я поместил его внутри модуля и просто включил егоmodule.

Рабочий код (модуль):

module ApiException
  class EmptyParameter < StandardError
  end
end

Рабочий код (контроллер):

# include custom error exception classes
  include ApiException

  rescue_from EmptyParameter, :with => :param_error

  # rescure record_not_found with a custom XML response
  rescue_from ActiveRecord::RecordNotFound, :with => :active_record_error

    def param_error(e)
      render :xml => "<error>Malformed URL. Exception: #{e.message}</error>"
    end

    def active_record_error(e)
      render :xml => "<error>No records found. Exception: #{e.message}</error>"
    end

Вот мой вопрос с использованием команды :with,Как бы я вызвал метод внутри моего пользовательского модуля?

Примерно так: rescue_from EmptyParameter, :with => :EmptParameter.custom_class

1 Ответ

2 голосов
/ 08 июля 2011

Вы можете попробовать что-то вроде этого:

rescue_from EmptyParameter do |exception|
  EmptyParameter.custom_class_method
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...