Все между <%=
и %>
оценивается как код Ruby, и результирующая строка вставляется в документ (это фактически ERb, и его можно использовать для произвольных документов, а не только для HTML).И в этом случае он вызывает метод с именем simple h
, который экранирует свой аргумент.Поэтому я думаю, что то, что вы видите, скорее всего будет что-то вроде <%=h @somevar%>
.Таким образом, содержимое @somevar
экранируется методом h
, и вместо этого целого выражения вставляется возвращаемая строка.
Другие существующие синтаксисы ERb <% ... %>
для оценки кода Rubyно без вставки результата в документ, а также есть <% ... -%>
и <%= ... -%>
для подавления последующего перехода на новую строку, что позволяет избежать пробелов в отображаемом документе.