Перегрузка метода в 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

person Jon Lebensold    schedule 28.12.2012    source источник


Ответы (1)


Поскольку включение модуля вставляет его в цепочку предков, вы можете просто вызвать super:

class User
  include Concerns::MyConcern

  def my_concern_magic(arg0)
    arg1 = [1, 2, 3]
    super(arg0, arg1)
  end
end
person Andrew Marshall    schedule 28.12.2012
comment
Спасибо, Андрей! Работал как шарм. - person Jon Lebensold; 29.12.2012