Я хотел бы расширить ERB, чтобы каждый выходной тег - <% =%> - содержимое предварительно обработано до визуализации результата.Как расширить ERB templating
Например,
<%= 'test' %>
теперь должны оказывать
!test!
вместо
test
Как я могу это сделать?
Ничего, я думаю, что я мог бы сделать template.gsub! (/ <%=.*?=> /, 'preprocess (\ 1)') и добавить preprocess (content) для привязки. Я попробую это сейчас. – Gus
Я предполагаю, что вы имели в виду template.gsub! (/ <%=(.*)%> /, '<%=!\1!%>'). Проблема в том, что два вызова метода в одной строке <%=function%><%=function%> заменяется на <% =! Function%><% = function!%>, Потому что регулярное выражение является жадным. – Gus
Я думаю, что я мог бы исключить символы <>% из регулярного выражения -/<%=([^<>%] *)%>/-, но я должен был бы разрешить их только при внутри кавычек. – Gus