2012-11-01 43 views
0

是否可以調用include?在整個桌子上的功能,像這樣?Rails在表中查找值

<% @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 %> 

,我發現了問題是,當我把submittedpictures塊,然後遍歷這個表中的每個記錄,它纔會起作用。不過,我想一遍遍查看整個表格,看看'isFinalPicture'列是否包含'false'值。

任何想法?

下面的代碼片段的作品,但它不是我想要的方式(我會得到更多的線,如果輪恰好有更多的「真」 FinalPictures)

<% @@latestround.submittedpictures.each do |s| %> 
    <% if s.isFinalPicture == true %> 
     <p>Final Picture has been played!</p> 
    <% end %> 
<% end %> 
+0

你可以發佈你的模型代碼,以便我們可以看到isFinalPicture中發生了什麼? – Tigraine

+0

另外請注意,你的代碼並沒有真正遵循ruby的命名約定。Ruby通常用_和_分開單詞,並且沒有大寫字母。你的看起來更像JavaScript – Tigraine

回答

1

你可以做一個範圍的像

class SubmitedPricture << ActiveRecord::Base 

    scope :final_pictures, where('isFinalPricture = ?', true) 
end 

,那麼你可以看看是否有任何與只有一個查詢

latestround.submittedpictures.final_pictures.any? 

你也笑在命名你的模型和其他所有東西時遵循Rails的慣例。 Like submittedpictures should submit_pictures

+0

哦,我的壞名字馬上改變了名字。我的老師交出數據庫設置,我沒有問題的命名:)也感謝解決方案,我正在尋找這個確切的東西:) – Flame

+1

哦,它的工作?我不確定是否有可能以這種方式進行示波器工作 –