在视图中显示特定值

时间:2016-09-25 18:52:02

标签: ruby-on-rails ruby loops conditional-statements

我正在开发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%>

你能帮助我吗?

1 个答案:

答案 0 :(得分:2)

当任何变量等同于“oui”时,您的'if'检查将评估为TRUE。

在你的例子中,Plage是==“oui”。这意味着您的IF检查将忽略对其他变量的下一次检查,因为您正在使用OR检查。这在编程中称为短循环(https://en.m.wikipedia.org/wiki/Short-circuit_evaluation)。

考虑使用“&amp;&amp;”声明而不是“||”。这样,当我们中的任何一个变量为“非”时,它将不会显示该视图。