正在挖掘我的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”时,它会全部通过吗?
只是寻找一些确认加上关于此的更多知识。感谢。
答案 0 :(得分:2)
了解这些rails.rb
文件正在做什么的最佳方法是阅读源代码。
如您所见,在任何库中,文件都采用不同的范围。常见的行为是文件rails.rb
通常包含从Rails项目加载时初始化库所需的代码。
答案 1 :(得分:1)
不会生成文件,只是您正在使用的这些库的源文件。
在这种情况下,它们可能是与rails相关的类,它们以某种方式扩展Rails或修改它或使库与Rails交互。
Rails是Ruby领域中非常常见的框架,因此大多数(如果不是所有)库都会与Rails进行某种集成。
当你运行rails XXX
时,并不是所有这些都被加载,而是当你的应用程序加载这些库时,可以执行rails.rb文件以提供与Rails的某种集成。