扩展ActiveSupport ::关注

时间:2015-10-01 11:38:07

标签: ruby-on-rails

我试图在不同的Rails项目中扩展现有的关注点。 这个模块存在于我需要的宝石中:

module Foo
  extend ActiveSupport::Concern
  included do
    #some stuff
  end

  def method_a
  end
end

然后在我的项目中:

module Foo
  extend ActiveSupport::Concern
  included do
    #some other stuff
  end

  def method_b
  end
end

结果是,包括Foo的对象只有method_b,并且只在包含时运行#some其他东西。是否有任何方法可以运行所有包含的代码,并添加所有方法?

编辑:宝石和项目都是我的,如果有更合适的解决方案,我还没有决定使用ActiveSupport :: Concern。

1 个答案:

答案 0 :(得分:4)

您不应该直接覆盖或延伸问题。使用一个简单的模块可能会有用,但是需要设置明确的扩展:

javascript