是否可以在整个表上调用 include? em>函数,如下所示?
<% @user.games.each do |g|
@@latestround = g.rounds.order('created_at DESC').first
%>
<% if @@latestround.submittedpictures.isFinalPicture.include?(true) %>
<p>FinalPicture has been played!</p>
<% end %>
<% end %>
我得到的问题是,只有当我在提交的图片上放置一个块然后遍历该表的每个记录时,它才有效。但是我想一次查看整个表,看看'isFinalPicture'列是否包含'false'值。
有什么想法吗?
以下片段有效,但它不是我想要的方式(如果圆形碰巧有更多'真'FinalPictures,我会得到更多的线)
<% @@latestround.submittedpictures.each do |s| %>
<% if s.isFinalPicture == true %>
<p>Final Picture has been played!</p>
<% end %>
<% end %>
答案 0 :(得分:1)
你可以像
那样为它做一个范围class SubmitedPricture << ActiveRecord::Base
scope :final_pictures, where('isFinalPricture = ?', true)
end
然后你可以看到是否只有一个查询
latestround.submittedpictures.final_pictures.any?
此外,您应该遵循Rails的惯例来命名您的模型和其他所有内容。像提交的图片一样,应该提交_pictures