Ruby on Rails语法<%vs <%=

tom*_*eck 3 ruby ruby-on-rails erb

我是ruby和rails的新手.我所遵循的教程没有解释<%和<%=标签之间的区别.例如:

<% @statuses.each do |status| %>
  <tr>
    <td><%= status.name %></td>
    <td><%= status.content %></td>
    <td><%= link_to 'Show', status %></td>
    <td><%= link_to 'Edit', edit_status_path(status) %></td>
    <td><%= link_to 'Destroy', status, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

循环只用<%打开,在其中用<%=打开标签.

那有什么区别?

谢谢

Jas*_*Kim 7

<% %>并且<%= %>都执行Ruby代码.

<% %>将执行Ruby代码,但不会将返回值呈现为html. <%= %>将执行Ruby代码,并将返回值呈现为html.