1
我想要一個模塊來alias_method_chain
從它包含到類中的方法。這裏是我寫的:模塊中的alias_method_chain
module MyModule
self.included(base)
base.class_eval do
alias_method_chain :perform, :chain
end
end
def perform_with_chain(opts)
#Do some stuffs
perform_without_chain(opts)
#Do some other stuffs
end
end
class SomeClass
include MyModule
def perform(opts)
end
end
但這拋出,因爲,當包括模塊,該perform
方法尚未SomeClass
定義的錯誤:
in `alias_method': undefined method `perform' for class `SomeClass' (NameError)
應該怎麼寫這個模式所以別名鏈完全有效?
你可以寫'包括MyModule'在'SomeClass'聲明的_END_ ... –