为什么到处都有Rails.rb文件?

时间:2012-09-11 18:27:34

标签: ruby-on-rails

正在挖掘我的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”时,它会全部通过吗?

只是寻找一些确认加上关于此的更多知识。感谢。

2 个答案:

答案 0 :(得分:2)

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

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

BTW,这与script / rails命令无关,也没有“big rails.rb”文件。

答案 1 :(得分:1)

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

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

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

当你运行rails XXX时,并不是所有这些都被加载,而是当你的应用程序加载这些库时,可以执行rails.rb文件以提供与Rails的某种集成。