简短版本:如何确定哪个文件或gem需要某个文件
再长一点......
我有一个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"
但是在加载rails后,如果我进入控制台并输入:
defined?(ActiveRecord::Base)
#=> "constant"
我希望它是nil
。
所以我的一个宝石必须加载ActiveRecord。
如何确定哪个gem或文件需要ActiveRecord?
答案 0 :(得分:0)
好的,我找到了一种方法,但不确定它是最好的:
由于我使用的是bundler,我只是在bundler需要该文件后添加了一个断点,然后检查文件是否已加载。
我在Bundler::Runtime#require
行的Kernel.require
添加了断点。
如果有更优雅的方式,请加入。
答案 1 :(得分:0)
如果您查看Gemfile.lock
,就可以确定哪些宝石将ActiveRecord作为依赖项。