有条件和覆盖

时间:2018-08-25 23:25:48

标签: ruby-on-rails ruby-on-rails-5

我正在使用一个条件检查两个值是否存在。我想用第二个条件覆盖第一个条件。如果有第二个存在的可能性,那么第一个存在的可能性最大。我遇到的问题不是使用两种不同的调用方法。

到目前为止我所拥有的:

<% @data.each do |i| %>
  <% if i.stock.present? %>
    In Stock
  <% elsif i.sold.present? %>
    Sold
  <% else %>
    n/a
 <% end %>
<% end %>

因此,如果在库存中显示“有库存”,则在出售时显示“已售”。

1 个答案:

答案 0 :(得分:0)

我认为我有解决方案,但是如果有更好的方法,请随时告诉我。这使用了除非声明,并且似乎显示了我所需要的。

<% @data.each do |i| %>
  <% unless i.stock.present? %>
    In Stock
  <% else if i.sold.present? %>
      Sold
    <% else %>
      n/a
  <% end %>
 <% end %>
<% end %>