这个问题是关于捆绑器,rubygems &它是如何找出我打电话给我的方法。它相当长,所以请忍受我。捆绑机如何工作?
根据我的理解,Bundler是一个管理ruby的gems的依赖管理工具。它会安装Gemfile
中列出的所有其他依赖关系的宝石&。
我想问的问题可以通过一个例子来最好地说明。这里
module SurveyorControllerCustomMethods
def create
super
end
end
class SurveyorController < ApplicationController
include Surveyor::SurveyorControllerMethods
end
,我做了两两件事:
- 包括从勘测宝石
SurveyorControllerMethods
- :所以在这里 - >在我的Rails应用程序,我在我的控制器这样做。 - 正如我已经使用超级在这里,它会调用
create
方法从SurveyorControllerMethods
这工作得很好,但我不 理解。
和创业板被安装在
$ bundle show surveyor
/home/gaurish/.rvm/gems/ruby-1.9.3-p194/gems/surveyor-0.22.0
其令人惊讶地没有出现在Ruby的$LOAD_PATH
。所以问题是:
- 它甚至如何工作?
- 使用捆绑器安装gem,安装过程中幕后发生了什么?
- 有一些宝石ex
jquery-rails
,我们甚至不需要在我们的代码&中包含/调用它们,但jQuery JavaScript文件自动包含在其中。我知道它不是魔术,所以这是如何工作的?
我在'config/boot.rb'或'config/application.rb'找不到'Bundler.setup(:default,:development)'? – CuriousMind
糟糕,我很抱歉,它需要'bundler/setup',这是间接的做法https://github.com/carlhuda/bundler/blob/master/lib/bundler/setup.rb – d11wtq