2012-03-28 8 views

risposta

19

La cosa più semplice possibile sarebbe

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

Se si definisce un ambito completed su sottocompiti questo potrebbe essere ridotto a

task.subtasks.completed.exists? 

Entrambi questi fuoco una query di database, quindi se avete già se i sottocompiti sono stati caricati (task.association(:subtasks).loaded?) sarà probabilmente più rapido manipolare gli oggetti ruby ​​tramite qualcosa come

task.subtasks.any? {|subtask| subtask.completed?} 
Problemi correlati