我正在开发app,我有一个问题要问你。我试图显示特定值的字段。我有2个价值" oui"和"非"。我做了一个if条件,但没有工作,价值"非"总是显示。我不想显示这个。
My value in db Plage = oui Etang = oui Montagne = oui Riviere = non
<% @camping.situations.each do |situation| %>
<% if situation.plage == "oui" || situation.etang == "oui" || situation.montagne == "oui" || situation.riviere == "oui" %>
<p> Plage: <%=situation.plage %> à <%=situation.distanceplage%> km</p>
<p> Etang: <%=situation.etang%></p>
<p> Montagne: <%=situation.montagne %></p>
<p> Rivière: <%=situation.riviere%></p>
<% else %>
<%end%>
<%end%>
你能帮助我吗?
答案 0 :(得分:2)
当任何变量等同于“oui”时,您的'if'检查将评估为TRUE。
在你的例子中,Plage是==“oui”。这意味着您的IF检查将忽略对其他变量的下一次检查,因为您正在使用OR检查。这在编程中称为短循环(https://en.m.wikipedia.org/wiki/Short-circuit_evaluation)。
考虑使用“&amp;&amp;”声明而不是“||”。这样,当我们中的任何一个变量为“非”时,它将不会显示该视图。