5

このチュートリアルに基づいて gem/engine を作成しました:

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

助言がありますか?

4

2 に答える 2

15

コメントを外すと

Rails.backtrace_cleaner.remove_silencers!

config/initializers/backtrace_silencers.rbより完全なスタックトレースが表示されます。それは私のために働いた。

于 2011-11-30T11:05:43.953 に答える
2

コンソールにバックトレースはありますか?

追加の出力が見つからない場合は、アプリの開始近くに「デバッガー」ステートメントを配置し、エラーが表示されるまでソース コードをステップ実行できます。

gem/plugin ソースでも同じことができます。

編集: 著者は、記事の下部にデモ コードへのリンクを持っているようです。それも役に立つかもしれません。

于 2011-02-15T16:05:26.653 に答える