Есть ли более точный синтаксис для отображения переменной в erb? - PullRequest
0 голосов
/ 04 июня 2010

Я новичок в Ruby, и нашел <%= @my_variable %> немного длинным и менее читаемым. Разве erb не должен иметь что-то вроде ${@my_variable} (например, старый добрый движок Velocity в Java)?

Ответы [ 2 ]

4 голосов
/ 04 июня 2010

erb, как следует из его названия, предназначен для встроенного кода ruby. Я не думаю, что он имеет какой-либо другой синтаксис, кроме следующих признанных тегов:

<% Ruby code -- inline with output %>
<%= Ruby expression -- replace with result %>
<%# comment -- ignored -- useful in testing %>
% a line of Ruby code -- treated as <% line %> (optional -- see ERB.new)
%% replaced with % if first thing on a line and % processing is used
<%% or %%> -- replace with <% or %> respectively

Если вам не нравится синтаксис erb, есть другие альтернативные движки шаблонов для Ruby. Взгляните на Haml , Liquid , Усы или Tenjin .

2 голосов
/ 04 июня 2010

Я предполагаю, что ответ - нет, согласно документации ERB .

ERB распознает определенные теги в предоставленном шаблоне и преобразует их на основании следующих правил:

<% код Ruby - встроенный с выходом%>
<% = Ruby выражение - заменить на результат%>
<% # комментарий - игнорируется - полезен при тестировании%>
% строка кода Ruby - обрабатывается как <% line%> (необязательно - см. ERB.new)
%% заменяется на%, если первым делом используется строка и обрабатывается%
<%% или %%> - заменить на <% или%> соответственно
Весь остальной текст проходит через фильтрацию ERB без изменений .

...