您好,我需要打印出 active 为 == 0 的候选者,这是我在视图中的代码。
如果 active 是或否,我可以打印。但是在每个 do 循环中,我只想打印活动候选者。
So how can i add the condition to my each do loop, thanks.
<% @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
If candidate.active
实际上是一个布尔值,那么你可以说:
<% @candidates.reject(&:active).each do |candidate| %>
...
<% end %>
If @candidates
实际上是一个ActiveRecord::Relation
那么你可能会说:
<% @candidates.where(:active => false).each do |candidate| %>
...
<% end %>
以避免在您不需要时从数据库中取出一堆内容。
If active
实际上是一个数字(数据库内部和数据库外部)那么你可以说:
<% @candidates.select(&:zero?).each do |candidate| %>
...
<% end %>
or
<% @candidates.where(:active => 0).each do |candidate| %>
...
<% end %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)