大写Ruby on Rails文件的第一个字母的公约?

时间:2015-03-30 05:56:21

标签: ruby-on-rails

某些标准的Ruby on Rails文件的首字母大写,例如Gemfile,Gemfile.lock和Guardfile。是否有关于此的约定,或者我可以为我认为重要的任何文件执行此操作吗?

1 个答案:

答案 0 :(得分:1)

大写文件不是Rails应用程序源文件,它们是某些工具所需的文件。例如,GemfileGemfile.lock适用于bundlerGuardfile适用于guard。这些工具都不随Rails一起提供,并且所有这些工具都可以在没有Rails的情况下使用。

你必须坚持使用Rails约定,因为Rails约定不仅仅是约定,它们还有一些性能问题。

例如,Rails会强制您将模型MyModel放入文件app/models/my_model.rb中。在使用此类之前,Rails不会加载此文件。 Rails假定类MyModel在名为my_model.rb的文件中定义,并且位于一个名为autoload_paths的特殊目录中,因此Rails会在这些目录中搜索此特定文件并加载它。如果没有这样的文件,或者该文件中没有定义类MyModel,则会引发错误。使用这种延迟加载机制,Rails可以将那些从未使用过的(可能是遗留的)类保存到内存中。