Ruby 模板 if else 语句

Swa*_*wal 3 ruby templates if-statement

<% @players.each do |player| %>
    <% if rad_win == true %>
    <%  @mywin = "Radiant Win" %>
    <%  puts "1111111" %>
    <% elsif rad_win == false %>
    <%  @mywin = "Radiant Loss" %>
    <%  puts "222222" %>
    <% else %>
    <%   @mywin = "Loss" %>
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在我的 test.html.erb 中,我有以下代码。我可以看到 rad_win 为 false,但该代码块未执行。即没有22222222

Ant*_*ony 5

您正在使用 ERB,这要求您想要显示的任何文本都必须与<%= %>

像这样:

<% @players.each do |player| %>
    <% if rad_win == true %>
    <%  @mywin = "Radiant Win" %>
    <%= "1111111" %>
    <% elsif rad_win == false %>
    <%  @mywin = "Radiant Loss" %>
    <%=  "222222" %>
    <% else %>
    <%   @mywin = "Loss" %>
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)