2011-11-10 15 views
2

ショートバージョン:少し長く、特定のファイルに特定のモジュールの読み込みは何ですか? (ActiveResource)

を必要としているファイルや宝石を決定する方法は...

私はRailsの3.0.3/mongoidアプリケーションを持っているので、私はないですActiveRecordを使用します。私のapplication.rbファイルの先頭には、そうのようになります。

require File.expand_path('../boot', __FILE__) 

#require 'rails/all' 
require "action_controller/railtie" 
require "action_mailer/railtie" 

しかし、私は、コンソールと型に行けばレールロードした後、:

defined?(ActiveRecord::Base) 
#=> "constant" 

私はそれがnilことが期待しました。

私の宝石の1つがActiveRecordをロードしている必要があります。

ActiveRecordが必要な宝石やファイルを特定するにはどうすればよいですか?

答えて

0

[OK]を、私はそれを行う方法を考え出したが、わからないその最高:私はバンドラを使用しておりますのでバンドラがファイルを必要とし、ならば、後で確認した後

は、私は単純にブレークポイントを追加しましたファイルがロードされました。

Kernel.require行に、Bundler::Runtime#requireにブレークポイントを追加しました。

チャイムインがよりエレガントな方法であれば。

0

Gemfile.lockを見ると、ActiveRecordを依存関係として持つ宝石を見つけることができます。

+0

ありがとうございます。依存関係はありません。多くの宝石はテストスイートに依存していますが、標準的な使用に必要なときはロードしません。そして、裏返して、何度か依存関係が記述されておらず、まだファイルが必要です – Jonathan

+1

追加する必要がありますが、これは最初に見なければならないものです - それはしばしば役に立ちます – Jonathan

+0

私は間違っているかもしれませんが、あなたの宝石のテスト依存関係は 'Gemfile.lock'にはないと思わないでください(そうでなければすべての宝石はrspecまたはテストユニットに依存します)。また、宝石から依存関係として指定されていない宝石からファイルを要求することも可能ですが、それは*恐ろしい*実践です。 –