Ruby on Rails 管理 - 有没有办法在其配对的管理控制器类中整合重用应用程序控制器类?

问题描述 投票:0回答:1

我有两个具有相同类名的控制器。一个继承自应用程序控制器,另一个继承自 AdminController(出于保密原因,我们将其称为示例控制器):

class SampleController < ApplicationController
  def sample_method
    //do stuff
  end
end
module Admin
  class SampleController < AdminController
    def sample_method
      //do the same stuff as the above controller's method
    end
  end
end

有没有办法让常规控制器(第一个非管理员)成为管理员示例控制器的超级控制器?

到目前为止我在互联网上找不到任何“双重继承”的例子。我也不想为为 SampleController 的管理版本执行相同任务的函数创建重复的代码。

希望这是有道理的。请原谅这里任何明显的无知 - 我是一个自学的 ruby 程序员:-)

ruby-on-rails ruby inheritance activeadmin superclass
1个回答
0
投票

所以首先,不,你没有两个同名的类。一个叫

SampleController
,另一个叫
Admin::SampleController

那么不,ruby 不支持多重继承,但是您可以将常用功能移至“mixin”模块并

include
在两个控制器中。 在这里查看更多

© www.soinside.com 2019 - 2024. All rights reserved.