如何使用Rails 2.1中的ExceptionNotifier插件修复"找到未处理的视图路径"错误?

时间:2020-03-05 18:37:28  来源:igfitidea点击:

将Rails 1.2网站升级到2.1后,ExceptionNotifier插件不再起作用,抱怨此错误:

ActionView::TemplateFinder::InvalidViewPath:  Unprocessed view path
  found:
  "/path/to/appname/vendor/plugins/exception_notification/lib/../views".
  Set your view paths with #append_view_path, #prepend_view_path, or #view_paths=.

是什么原因造成的,我该如何解决?

解决方案:

这是由rails 2.1的更改引起的,出于安全原因,该更改阻止了rails从任意路径加载视图。

github上现在有插件的更新版本,因此## 解决方案是使用它。

后代的旧## 解决方案

要解决此问题,请在" vendor / plugins / exception_notification"目录下编辑" init.rb",并将以下代码添加到末尾

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

这会将ExceptionNotifier插件的views文件夹添加到列表中,因此可以加载它们。

我们应该升级到最新的Exception Notification插件,该插件位于GitHub的新家中。