rails:如何覆盖 cocoon gem 辅助方法并调用原始方法
Posted
技术标签:
【中文标题】rails:如何覆盖 cocoon gem 辅助方法并调用原始方法【英文标题】:rails: how to override cocoon gem helper method and call original method 【发布时间】:2014-10-06 06:20:04 【问题描述】:我需要覆盖cocoon gem 中的一个方法,然后调用原始方法。这是怎么做到的?
# gem code
module Cocoon
module ViewHelpers
def link_to_add_association(*args, &block)
#...stuff
end
end
end
# in a helper or initializer
def link_to_add_association(*args, &block)
#...do something
<call original method>
end
【问题讨论】:
【参考方案1】:# in a helper or initializer
def link_to_add_association(*args, &block)
#...do something
super
end
【讨论】:
那行不通,没有super可以调用。该方法没有继承类。 super 也适用于模块。也许在定义了所有代码之后包含了 Cocoon ......嗯......实际上你可以为你的助手选择一个不同的名字 是的,我认为这是唯一的解决方案以上是关于rails:如何覆盖 cocoon gem 辅助方法并调用原始方法的主要内容,如果未能解决你的问题,请参考以下文章
Rails 4 & cocoon gem:无法将 3 级子级添加到动态添加的 2 级子级
<ol> <li> 使用 rails partial 和 cocoon gem 实现的问题
如何将复制按钮集成到使用 cocoon gem 创建的表单中