我正在尝试在不同的 Rails 项目中扩展现有的关注点。
该模块存在于我需要的 gem 中:
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 other stuff。有没有办法让包含下的所有代码运行,并添加所有方法?
编辑:gem 和项目都是我的,如果有更合适的解决方案,我不会死心塌地使用 ActiveSupport::Concern。
最佳答案
您不应该直接覆盖或扩展关注点。使用一个简单的模块可能会很有用,但关注点被设置为显式扩展:
module MyFoo
extend ActiveSupport::Concern
extend Foo
included do
#some other stuff
end
def method_b
end
end
关于ruby-on-rails - 扩展 ActiveSupport::Concern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32886674/