![](/img/trans.png)
[英]Rails - alias_method_chain with a 'attribute=' method
[英]Rails: extending alias_method_chain
有一个Rails 4.2.6应用程序,该应用程序具有一个核心插件,可以通过alias_method_chain
扩展ActiveRecord reload
方法。
我需要编写另一个扩展相同基本功能的插件,并保留核心插件添加的内容。
就我所知,我只能调用alias_method_chain
一次,但我希望得到这样的东西:
class Klass
def foo
end
core_plugin:
base.send :alias_method_chain, :foo, :bar
my_plugin:
base.send :alias_method_chain, :foo, :baz
调用Klass.foo会导致调用:baz
, :bar
和:foo
那么,假设我无法编辑core_plugin,我有哪些选择?
你需要这样的东西
克拉斯班
def foo
puts "foo"
end
def baz
puts "printing baz..."
bar
puts "...printing bar"
end
alias_method :bar, :foo
alias_method :foo, :baz
end
Klass.new.foo
版画
打印baz ... foo ... print bar
这是您的期望吗? 如果没有请解释
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.