字母控制器初始化
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
...
我有一个控制器 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
...