Шпрее переопределяющий вспомогательный метод

Я пытаюсь переопределить вспомогательный метод base_helper.rb, используя это:

module Spree
  module BaseHelper.class_eval do

    def taxons_tree(root_taxon, current_taxon, max_level = 1)
      .....
    end

  end
end

Это не работает для меня. Кто-нибудь знает, чего я здесь не вижу?

Спасибо!

Fixed

Я должен использовать:

Spree::BaseHelper.module_eval do

    def taxons_tree(root_taxon, current_taxon, max_level = 1)
      ...
    end

end

вместо.

Ответы

Ответ 1

Повторное открытие модуля будет работать так же хорошо:

module Spree
  module BaseHelper
   def taxons_tree(root_taxon, current_taxon, max_level = 1)
      ...
   end
  end
end

Нет особых причин использовать class_eval и module_eval, это была привычка в проекте Spree в течение очень долгого времени.