嗨我需要打印出那些活跃的候选人== 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 %>