微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如果每个条件都做Rails

嗨我需要打印出那些活跃的候选人== 0这里是我在视图中的代码.

我可以打印,如果有效是是或否..但在每个做循环我只想打印活跃的候选人.

那么我怎样才能将条件添加到我的每个循环中,谢谢.

    

<% @candidates.each do |candidate| %>
    <div id="candidateper">
  <div class="avatth" ><div class="avat_min">
    <% if candidate.avatar.present? %>
       <%= link_to (image_tag candidate.avatar.url(:thumb)),(candidate_path(candidate))  %>
     <% else %>
     <%= link_to (image_tag ("espanol/playersample.png")),(candidate_path(candidate))  %>

     <% end %>
  </div></div>



      <div class="nameth"><%= candidate.name %></div>
      <div class="activeth"><%= candidate.active ? t('generales.yess') : t('generales.noo') %></div>
      <div class="generalth">
        <% if candidate.user.purchased_at.present? %>
          <%= candidate.user.purchase_defeated? ? t('generales.defeated') : t('generales.active') %>
        <% else %>
          <%=  t('generales.noo') %>
        <% end %>
      </div>

      <div class="actionsth"><%= link_to t('generales.show'),candidate_path(candidate) %>
      <% if current_user.user_type == 'admin' %>
      <%= link_to t('generales.delete'),candidate_path(candidate),method: :delete,data: { confirm: t('generales.delete_candidate_confirm') } %>
     <% end %>
    </div>
    </div>
  <% end %>

</div>
  <% end %>

我试过这个

 

我的所有想法都没有运气语法错误:P

解决方法

如果candidate.active实际上是一个布尔值,那么你可以说:

<% @candidates.reject(&:active).each do |candidate| %>
    ...
<% end %>

如果@candidates实际上是一个ActiveRecord :: Relation,那么你可能会说:

<% @candidates.where(:active => false).each do |candidate| %>
    ...
<% end %>

当你不想要它时,避免将一堆东西从数据库中拉出来.

如果active实际上是一个数字(在数据库内部和数据库之外),那么你可以说:

<% @candidates.select(&:zero?).each do |candidate| %>
    ...
<% end %>

要么

<% @candidates.where(:active => 0).each do |candidate| %>
    ...
<% end %>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐