0

我是 Ruby 新手,我发现它<%= @my_variable %>有点冗长且可读性差。erb 不应该有类似的东西${@my_variable}(比如 Java 中好的旧 Velocity 引擎)吗?

4

2 回答 2

4

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 的替代模板引擎。看看HamlLiquidMustacheTenjin

于 2010-06-04T08:01:58.240 回答
2

根据ERB 文档,我想答案是否定的。

ERB 识别提供的模板中的某些标签并根据以下规则对其进行转换:

<% Ruby 代码 -- 与输出内联 %>
<%= Ruby 表达式 -- 替换为结果 %>
<%# 注释 -- 忽略 -- 用于测试 %>
% 一行 Ruby 代码 -- 视为 <% 行%> (可选 -- 参见 ERB.new)
%% 替换为 % 如果在一行中的第一件事并且使用了 % 处理
<%% 或 %%> -- 分别替换为 <% 或 %>
所有其他文本都通过ERB过滤不变

于 2010-06-04T08:17:21.610 回答