0

正在挖掘我的 Rails 应用程序,发现到处都是 rails.rb 文件。在我的 ruby​​ gems 目录中,例如:

...gems\devise-2.0.4\lib\devise\rails.rb
...gems\cucumber-rails-1.3.0\lib\cucumber\rails.rb
...gems\railties-3.2.3\lib\rails.rb

我假设每当您发出诸如“rails xxx”之类的命令时都会执行。因此,所有这些额外的 rails.rb 文件与原始 rails.rb 文件相结合,基本上构成了一个大 rails.rb 文件。本质上,当我们输入“rails xxx”时,它会全部通过吗?

只是在寻找一些确认以及更多关于此的知识。谢谢。

4

2 回答 2

2

了解这些rails.rb文件在做什么的最好方法是阅读源代码。

如您所见,在任何库中,文件都采用不同的范围。常见的行为是该文件rails.rb通常包含从 Rails 项目加载时初始化库所需的代码。

顺便说一句,这与 script/rails 命令无关,并且没有“big rails.rb”文件。

于 2012-09-11T18:35:49.413 回答
1

这些文件不会生成,而只是您正在使用的这些库的源文件。

在这种情况下,它们可能是与 Rails 相关的类,它们要么以某种方式扩展 Rails,要么对其进行修改,或者使库与 Rails 交互。

Rails 是 Ruby 领域中非常常见的框架,因此大多数(如果不是全部)库都将与 Rails 进行某种集成。

绝不是在您运行时加载所有这些,rails XXX而是​​在您的应用程序加载这些库时,可能会执行它们的 rails.rb 文件以提供与 Rails 的某种集成。

于 2012-09-11T18:36:47.097 回答