我无法在任何地方找到它,但在我正在合作的项目中。
它的工作方式与<%=
(我试图改变)的方式相同,但我无法理解其中的差异。
<span class="option-content" placeholder="<%=t('pages.edit.option')%>">
<%%= content %>
</span>
答案 0 :(得分:3)
ERB停靠栏here说
<% 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
这意味着
<%%= content %>
将替换为
<%= value of content %>
答案 1 :(得分:1)
简而言之, ERb将双百分比标记为单百分比。
看起来您正在使用一层ERb模板来生成另一层ERb模板。
ERb的第一层不需要名为content
的变量,只需要t
方法:
<span class="option-content" placeholder="<%=t('pages.edit.option')%>">
<%%= content %>
</span>
渲染第一层以生成第二层:
<span class="option-content" placeholder="Edit">
<%= content %>
</span>
如您所见,这也是一个ERb模板。我期待其他东西,稍后,采用第二个ERb并使用它来渲染类似于:
<span class="option-content" placeholder="Edit">
Hello, world.
</span>