erb имеет два метода для вычисления встроенных выражений ruby. <%
, который оценивает выражение, и <%=
, который оценивает и печатает. В контексте привязки отсутствует глобальный объект для печати.
Как упоминал Омар, существует метод concat , который является частью ActionView. Это будет делать то, что вы хотите.
В отличие от экранирования языка сценариев, для erb нет вывода по умолчанию. Поскольку erb является просто функцией, а шаблон и привязка возвращают переменную, он возвращает значения текста и функций рекурсивно.
Существует горячая дискуссия о том, сколько логики должно быть разрешено в представлении, но как можно меньше - то, к чему стремится большинство людей. Если вы добавляете больше кода, чем текста, вы можете рассмотреть возможность рефакторинга вашего кода.