代码之家  ›  专栏  ›  技术社区  ›  wizztjh

<%%>(不相等)在ruby erb中的意思是?[副本]

  •  6
  • wizztjh  · 技术社区  · 15 年前

    我发现这句话“在没有替换的情况下被重新输入输出”,但也许我的英语不太好,我真的不明白它的意思。有人能帮忙吗?

    3 回复  |  直到 15 年前
        1
  •  11
  •   Michelle Six    15 年前

    <%%>

    将执行Ruby代码,但不会影响正在呈现的html页面。输出将被丢弃。

    <%=%>

    将执行Ruby代码并插入该代码的输出以代替<%=%>

    <% puts "almost" %> nothing to see here 
    

    将呈现为

    nothing to see here
    

    然而

    <%= puts "almost" %> nothing to see here
    

    将呈现为

    almost nothing to see here
    
        2
  •  7
  •   PeterWong    15 年前

    有时候你必须(或者你想)执行一些ruby语句,但不是为了输出。

    如下所示:

    <% if @user.nil? %>
      Hi, welcome!
    <% else %>
      Hi, <%= @user.name %>!
    <% end %>
    

    当然这只是一个用例,但是有时候你确实需要 <% %> :天

        3
  •  1
  •   zengr    15 年前

    代码输入 <% %>

    <% 3.times do %>
    
    <h1>Hello world</h1>
    
    <%end%>
    
    This will give:
    
    <h1>Hello world</h1>  
    <h1>Hello world</h1>  
    <h1>Hello world</h1>