Rails: ruby class 名称必须基于文件名?

Rails: ruby class name must base on file name?

我正在学习 rails 5.0。当我学习 Ruby 时,我知道 ruby 文件名可以与里面的 class 名称不同。但是当我移动到 rails 时,我看到 ruby 文件名和 class 名称必须具有相同的格式。例如,class 名称 CheckInDetail 将在 check_in_detail.ruby 中。我还看到模块名称必须与目录名称匹配。例如,模块 authentication 必须位于 authentication 目录中。我的结论的一些例子是:

  1. rspec: class 名称必须基于文件名。
  2. grape: class 名称必须基于文件名。模块名称也必须与目录匹配。

如果我不遵循这些约定,编译时 rails 将抛出异常。我在那些图书馆 github 页面上没有看到这些约定。对于所有图书馆的整个铁路项目,这是否适用?

对于 rails 有一个约定,您应该如何定义 classes 和文件名。名为 ManageOrder 的 class 应该驻留在名为 manage_order.rb 的文件中。这是 rails 遵循的标准约定,否则 rails 将无法加载 class.