2012-03-28 18 views

回答

19

最簡單的方式就是將

task.subtasks.where(:completed => true).exists? 

如果你定義的子任務completed範圍,這可能縮短爲

task.subtasks.completed.exists? 

這兩項將觸發數據庫查詢,所以如果你已經有子任務加載(task.association(:subtasks).loaded?)它可能會更快地操作紅寶石對象通過一些像這樣

task.subtasks.any? {|subtask| subtask.completed?} 
相關問題