具体的な例(Rails)で質問します。「Javascriptなしで破棄(改訂)」レールキャストで、RyanBatesは#resources
ルーティング方法を上書きします。
module DeleteResourceRoute
def resources(*args, &block)
super(*args) do
# some code
end
end
end
ActionDispatch::Routing::Mapper.send(:include, DeleteResourceRoute)
しかし、Rubyの継承は、モジュールが「スーパークラス」であるようには機能しません。では、彼はどのように#super
してモジュールから呼び出すことができますか?
このようなメソッドを上書きすることが可能である場合、これを行う代わりに人々は:
class SomeClass
alias old_method method
def method
# ...
old_method
# ...
end
end
これで何かをしている可能性があります:
class SomeClass
include Module.new {
def method
# ...
super
# ...
end
}
end
私は何が欠けていますか?