我已根据本教程创建了一个gem /引擎:
http://www.themodestrubyist.com/2010/03/05/rails-3-plugins---part-2---writing-an-engine/
但是,我在尝试在新创建的应用程序中使用gem时遇到错误。在尝试访问应用程序时,我得到一个“路由错误 - 未定义的方法`sub'为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
有什么建议吗?
答案 0 :(得分:15)
如果取消注释
Rails.backtrace_cleaner.remove_silencers!
在config/initializers/backtrace_silencers.rb
中它将显示更完整的堆栈跟踪。它对我有用。
答案 1 :(得分:2)
你的控制台是否有回溯?
如果您无法找到任何其他输出,那么您可以在应用程序开头附近放置一个“调试器”语句,然后单步执行源代码,直到出现错误。
你也可以对gem / plugin源做同样的事情。
编辑:看起来作者在文章的底部有一个演示代码的链接。这可能也很有用。