ruby-on-rails – 在ActiveSupport :: Concern中重载方法

我怎么能担心我这样写的:
module Concerns
  module MyConcern
    extend ActiveSupport::Concern
    ...
    def my_concern_magic(arg0,arg1)
      #exciting stuff here
    end
  end 
end

包含在重载my_concern_magic的模型中?例如.

class User
  include Concerns::MyConcern
  ...
  def my_concern_magic(arg0)
    arg1 = [1,2,3]
    my_concern_magic(arg0,arg1)
  end
end

解决方法

由于包含一个模块将其插入到祖先链中,您只需调用super:
class User
  include Concerns::MyConcern

  def my_concern_magic(arg0)
    arg1 = [1,3]
    super(arg0,arg1)
  end
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...