Ole*_*rum 5 debugging gem ruby-on-rails rails-engines ruby-on-rails-3
我已经基于本教程创建了一个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
Run Code Online (Sandbox Code Playgroud)
有什么建议?
小智 15
如果你取消注释
Rails.backtrace_cleaner.remove_silencers!
Run Code Online (Sandbox Code Playgroud)
在config/initializers/backtrace_silencers.rb它中将显示更完整的堆栈跟踪.它对我有用.
你的控制台中有回溯吗?
如果您无法找到任何其他输出,那么您可以在应用程序开头附近的某个位置放置一个“调试器”语句,并逐步执行源代码,直到出现错误。
您也可以对 gem/插件源执行相同的操作。
编辑:看来作者在文章底部有一个演示代码的链接。这可能也有用。