Шпрее переопределяющий вспомогательный метод
Я пытаюсь переопределить вспомогательный метод 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 в течение очень долгого времени.