Вот урезанная версия моего кода:
Вспомогательный метод:
def render_tree nodes, &block
block.call nodes[1]
return 0
end
и мой файл HAML:
= render_tree @sections do |node|
- logger.debug("BLOCK CALLED");
= node.title
Код должен напечатать node.title с методом, возвращающим 0. Вместо этого он просто печатает «0» (возвращаемое значение).
Если я закомментирую return 0
будет напечатан node.title.
В обеих ситуациях отладчик выводит «BLOCK CALLED».
Я хочу напечатать «test» и вернуть 0. Что я здесь не так делаю?
Редактировать: Так что я полагаю, что HAML выводит все, что возвращается из метода. Полный пример - рекурсивный метод, который печатает кучу вещей. Как я могу заставить его обрабатывать HAML, а не просто возвращать его?