1

我有一个公开以下控制器的 Rails 引擎:

class ActsAsAssets::AssetsController < ApplicationController
..........

主应用程序使用设计进入ApplicationController。从我用来扩展引擎控制器的主应用程序中,通常如下所示:

class MainApplicationController < ActsAsAssets::AssetsController
.......

我所关注的是 MainApplicationController 正在通过引擎扩展主应用程序 ApplicationController。请注意,引擎没有任何 ApplicationController 所以我期待 ActsAsAssets::AssetsController < ApplicationController 实际扩展使用引擎的 rails 应用程序的 ApplicationController。

看来我错了。

有什么建议吗?基本上我想要实现的是,我的主应用程序中的控制器扩展了一个 Rails 引擎控制器,该控制器扩展了主 ApplicationController 原因在引擎内部没有一个。

希望很清楚。

4

1 回答 1

3

将声明更改为如下所示:

class ActsAsAssets::AssetsController < ::ApplicationController

ApplicationController这指示控制器从主应用程序扩展非​​命名空间。

于 2012-09-04T18:06:19.337 回答