字母控制器初始化

Alphabetical controller initialization

我有一个控制器 Admin::AddressController,它是 AdminController 的子 class...并且由于 "Address" 在 "Admin" 之前,我得到一个 "uninitialized constant" 管理控制器错误...

因此,为了解决这个问题,我在 AddressController class 声明之前做了一个 require ./app/controllers/admin/AdminController.rb

是正确的做事方式吗?或者有什么方法可以让 rails 先初始化 AdminController?

如果您遵循约定,

Rails 应该能够自动处理。如果您将 AdminController 放在 admin 文件夹中,则 class 应该命名为 Admin::AdminController。要么是:

module Admin
  class AdminController
  ...

在 AddressController 上你可以使用:

class Admin::AddressController < Admin::AdminController
...

module Admin
    class AddressControler < AdminController
...