【发布时间】:2019-04-13 14:17:15
【问题描述】:
我正在尝试覆盖这样定义的 Rails 辅助方法:
class Foo
module Bar
def orig
# orig code
end
alias o orig
module_function :o
module_function :orig
end
end
这样我就可以覆盖orig 和o 并为其添加功能,如下所示:
def orig
# new code
# super (run orig code)
end
alias o orig
我查看了several different monkey patching methods,但它们似乎不起作用。我相信module_function 是它的原因。
有谁知道我是怎么做到的?
【问题讨论】:
-
我认为 Rails 标记没有任何理由,并且还会删除“覆盖”和“猴子补丁”,只留下“红宝石”。
标签: ruby-on-rails ruby ruby-on-rails-5 overriding monkeypatching