Как исправить ошибку "Unprocessed view path found" с плагином ExceptionNotifier в rails 2.1?

После обновления веб-сайта rails 1.2 до 2.1 плагин ExceptionNotifier больше не работает, жалуясь на эту ошибку:

ActionView:: TemplateFinder:: InvalidViewPath: Unprocessed view path
найдено:
«/path/to/appname/vendor/plugins/exception_notification/lib/../просмотр.»
Задайте пути представления с помощью #append_view_path, #prepend_view_path или #view_paths=.

Что вызывает это и как это исправить?

2 ответа

  1. Это было вызвано изменением rails 2.1, которое не позволяет rails загружать представления с любого произвольного пути из соображений безопасности.

    Теперь есть обновленная версия плагина на github, поэтому решение состоит в том, чтобы использовать его.


    Старое решение здесь для потомства

    Чтобы обойти его, отредактируйте init.rbв vendor/plugins/exception_notificationкаталоге и добавьте следующий код в конец

    ActionController::Base.class_eval do
      append_view_path File.dirname(__FILE__) + '/lib/../views'
    end
    

    Это добавляет папку представлений плагинов ExceptionNotifier в список, что позволяет загружать их.