Как исправить ошибку "Не обработанный путь просмотра" с плагином ExceptionNotifier в rails 2.1?

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

ActionView:: TemplateFinder:: InvalidViewPath: необработанный путь просмотра найденный: "/path/to/appname/vendor/plugins/exception_notification/lib/../views". Задайте пути просмотра с помощью #append_view_path, #prepend_view_path или #view_paths =.

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

Ответ 1

Вам следует перейти на новый плагин Notification Notification, который находится в его новом доме в GitHub.

Ответ 2

Это было вызвано изменением в 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 в список, поэтому им разрешено загружать их.