Ruby-on-rails Rails 中的 if 语句
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4776767/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
if statement in rails
提问by SHUMA
I trying to learn rails by doing some labs in railsforzombies, I am in lab3 (if statements).
我试图通过在 railsforzombies 中做一些实验室来学习 rails,我在 lab3(if 语句)中。
It has two tables:
它有两个表:
- Zombies{id, name, graveyard}
- Tweets{id, status, zombie_id}
- 僵尸{id,名称,墓地}
- 推文{id,状态,zombie_id}
ObjectiveIn the each block, if a Zombie has more than 1 tweet, print out SMART ZOMBIE
目标在每个区块中,如果僵尸有超过 1 条推文,则打印出 SMART ZOMBIE
<% zombies = Zombie.all %>
<ul>
<% zombies.each do |zombie| %>
<li>
<%= zombie.name %>
# add if statement here
</li>
<% end %>
</ul>
I have tried some solutions but I get it wrong.
我尝试了一些解决方案,但我弄错了。
回答by Clint Miller
<% if zombie.tweets.size > 1 %>
Smart Zombie!
<% end %>
回答by scragz
<%= 'SMART ZOMBIE' if zombie.tweets.size > 1 %>
<%= 'SMART ZOMBIE' if zombie.tweets.size > 1 %>
Note: count/length/size are all subtly different.
注意:计数/长度/大小都略有不同。
Edit: more than 1.
编辑:超过1。
回答by Gabriel Balbuena
This works!!
这有效!!
<% zombies = Zombie.all %>
<ul>
<% zombies.each do |zombie| %>
<li>
<%= zombie.name %>
<%= 'SMART ZOMBIE' if zombie.tweets.count > 1 %>
</li>
<% end %>
</ul>
回答by Ryan Hell
I was alternately able to make the following work and pass on, would love to hear if this is bad or not.
我可以交替进行以下工作并传递下去,很想听听这是否糟糕。
In the each block, if a Zombie has more than 1 tweet, print out SMART ZOMBIE
在每个区块中,如果僵尸有超过 1 条推文,则打印出 SMART ZOMBIE
<% zombies = Zombie.all %>
<ul>
<% zombies.each do |zombie| %>
<li>
<%= zombie.name %>
if zombie > 1 tweet put "SMART ZOMBIE"
</li>
<% end %>
</ul>
回答by Stefflan00
<ul>
<% zombies.each do |zombie| %>
<li>
<%= zombie.name %>
<% if zombie.tweets.size > 1 %>
SMART ZOMBIE
<% end %>
</li>
<% end %>
</ul>
回答by Syed Aslam
This should work:
这应该有效:
<ul>
<% zombies.each do |zombie| %>
<li>
<%= link_to zombie.name, edit_zombie_path(zombie) %>
<%= 'Smart Zombie' if zombie.tweets.count > 1 %>
</li>
<% end %>
</ul>
回答by emilioriosvz
<% if zombie.tweets.count > 1 %>
<em> SMART ZOMBIE </em>
<% end %>
This worked for me
这对我有用
回答by Dan
I tried it, it works!
我试过了,有效!
<ul>
<% zombies.each do |zombie| %>
<li>
<%= zombie.name %>
<% if zombie.tweets.length > 1 %>
SMART ZOMBIE
<% end %>
</li>
<% end %>
</ul>

