请问有谁能描述一下在雇员再就业表文件中使用的下列字符的用法:

<%   %>
<%=  %>
<%  -%>
<%#  %>

每一种的用途是什么?


当前回答

我添加了<%%文字标记分隔符作为答案,因为它是模糊的。这将告诉erb不要解释标签的<%部分,这对于js应用程序(如显示chart.js工具提示等)是必要的。

更新(修复断开链接)

有关雇员再培训局的资料,可在此查阅: https://puppet.com/docs/puppet/5.3/lang_template_erb.html#tags

其他回答

<% %>和<%-和-%>适用于任何Ruby代码,但不输出结果(例如if语句)。这两个是一样的。

<%= %>用于输出Ruby代码的结果

<%# %>是ERB注释

这里有一个很好的指南: http://api.rubyonrails.org/classes/ActionView/Base.html

我添加了<%%文字标记分隔符作为答案,因为它是模糊的。这将告诉erb不要解释标签的<%部分,这对于js应用程序(如显示chart.js工具提示等)是必要的。

更新(修复断开链接)

有关雇员再培训局的资料,可在此查阅: https://puppet.com/docs/puppet/5.3/lang_template_erb.html#tags

这些在ruby on rails中使用:-

<% %>:-

<% %>标记用于执行不返回任何内容的Ruby代码,例如条件、循环或块。如:-

<h1>Names of all the people</h1>
<% @people.each do |person| %>
  Name: <%= person.name %><br>
<% end %>

<%= %>:-

用于显示内容。

Name: <%= person.name %><br>

< %—% >:-

Rails扩展了ERB,因此只需在Rails模板中的标记后面添加一个连字符,就可以删除换行符

< % # % >: -

注释掉代码

<%# WRONG %>
Hi, Mr. <% puts "Frodo" %>

<% %>:执行ruby代码 <%= %>:打印到Erb文件。或浏览器 <% -%>:避免在表达式后换行。 <%# %>: ERB注释

<% %>执行其中的代码,但不打印结果,例如: 我们可以将它用于erb文件中的if else。

<% temp = 1 %>
<% if temp == 1%>
  temp is 1
<% else %>
  temp is not 1
<%end%>  

打印temp是否为1


<%= %>执行代码并打印输出,例如: 我们可以打印一个rails变量的值。

<% temp = 1 %>
<%= temp %>  

将打印1


<% -%>没有区别,因为它不打印任何东西,-%>只适用于<%= -%>,这将避免新行。


<%# %>将注释掉在此代码中编写的代码。