<% @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 %>
在我的 test.html.erb 中,我有以下代码。我可以看到 rad_win 为 false,但该代码块未执行。即没有 22222222
最佳答案
您正在使用 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 %>
关于Ruby 模板 if else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893964/