2012-03-28 15 views

Respuesta

19

Lo más sencillo posible sería

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

Si define un ámbito completed en subtareas esto podría ser acortado a

task.subtasks.completed.exists? 

Ambos le disparará una consulta de base de datos, así que si ya tener las subtareas cargadas (task.association(:subtasks).loaded?) probablemente sea más rápido manipular los objetos ruby ​​a través de algo como

task.subtasks.any? {|subtask| subtask.completed?} 
Cuestiones relacionadas