我基于本教程创建了一个gem/引擎:
http://www.themodestrubyist.com/2010/03/05/rails-3-plugins---part-2---writing-an-engine/
然而,当我试图在一个新创建的应用程序中使用gem时,我得到了一个错误。当我试图访问应用程序时,我得到了一个"Routing Error - undefined method‘`sub’for nil:NilClass“。
我在日志文件中唯一能看到的就是同样的错误。没有堆栈跟踪/调试跟踪,因此很难找出错误来自何处。理想情况下,我希望看到“来自gem”的堆栈跟踪,但似乎rails不会调试源自应用程序外部的错误?
我使用的是rvm,ruby 1.9.2,rails 3.0.1。
下面是来自gem的config/routes.rb文件,尽管我不认为这是调试消息所暗示的路由错误。
Rails.application.routes.draw do
resources :pictures, :controller => 'morph/pictures'
end有什么建议吗?
发布于 2011-11-30 19:05:44
如果您取消注释
Rails.backtrace_cleaner.remove_silencers!在config/initializers/backtrace_silencers.rb中,它将显示更完整的堆栈跟踪。这对我很管用。
发布于 2011-02-16 00:05:27
你的控制台里有回溯吗?
如果你不能找到任何额外的输出,那么你可以在你的应用程序开始的某个地方放一个“debugger”语句,然后单步执行源代码,直到出现错误。
你也可以用gem/plugin源代码做同样的事情。
编辑:似乎作者在文章的底部有一个演示代码的链接。这也可能是有用的。
https://stackoverflow.com/questions/5005884
复制相似问题