所以基本上我有一个类MyClass,它包含一个带有作用域'foo‘的关注点MyConcern。我希望能够覆盖MyClass中的作用域'foo‘,但仍然能够在MyConcern中调用被覆盖的作用域。
module MyConcern {
extend ActiveSupport::Concern
included do
scope :foo, lambda{ |x|
puts "Hello"
}
end
}
class MyClass {
include MyConcern
scope :foo, lambda{ |x|
MyConcern.foo(x)
puts " World"
}
}
因此,当我调用@myClass.foo(1)
(其中@myClass
是MyClass的一个实例)时,我应该能够看到打印出的"Hello World“。
我能找到的一个类似的线程是Calling super in overriden scope defined in concern,但不幸的是我不能在我的例子中使用常规的类方法。
任何帮助都将不胜感激!
转载请注明出处:http://www.shenkehuoyun.com/article/20230526/2210141.html