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

前端之家收集整理的这篇文章主要介绍了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
原文链接:https://www.f2er.com/ruby/270745.html

猜你在找的Ruby相关文章