2011-02-15 62 views
4

我已經創建了一個基於本教程寶石/引擎:如何調試導軌3寶石?

http://www.themodestrubyist.com/2010/03/05/rails-3-plugins---part-2---writing-an-engine/

不過,我想使用寶石在一個新創建的應用程序時得到一個錯誤。在嘗試訪問應用程序時,我得到了「路由錯誤 - 未定義的方法`sub'for nil:NilClass」。

我可以在日誌文件中看到的唯一的事情是相同的錯誤。沒有堆棧跟蹤/調試跟蹤,所以很難找出錯誤來自哪裏。理想情況下,我希望看到「來自gem」的堆棧跟蹤,但似乎rails不會調試源自應用程序外部的錯誤?

我使用RVM,紅寶石1.9.2,軌3.0.1。

這裏是寶石我的config/routes.rb中的文件,但我不認爲作爲調試消息表明,這是一個路由錯誤..

Rails.application.routes.draw do 
    resources :pictures, :controller => 'morph/pictures' 
end 

有什麼建議?

回答

2

控制檯中是否有回溯?

如果您無法找到任何額外的輸出,那麼你可以把一個「調試」聲明的地方你的應用程序的啓動和附近通過源代碼步驟,直到出現錯誤。

你可以做寶石/插件的源一樣,太。

編輯:看來筆者有一個鏈接在文章底部的演示代碼。這可能也是有用的。

14

如果您在config/initializers/backtrace_silencers.rb取消註釋

Rails.backtrace_cleaner.remove_silencers! 

它會顯示一個更完整的堆棧跟蹤。它爲我工作。

+1

我希望有一種方法可以給你更多的答案,這對我非常有幫助。 – 2012-02-26 05:38:15