Быстрее ли выполнить один запрос к базе данных, который находит все результаты, необходимые для страницы, а затем выполнить несколько циклов по нему с помощью операторов if / else, чтобы извлечь то, что вы хотите показать в каждом разделе, или сделать несколько баз данных?запросы, выбирающие точные данные, которые вам нужны, а затем просто циклически перебирайте каждую из них в отдельности?
Например:
@completed = HostTask.find(:all, :include => [:task], :conditions =>["host_tasks.decommission_id = ? AND host_tasks.completed IS NOT NULL", params[:id]], :order => "tasks.position")
@incomplete = HostTask.find(:all, :include => [:task], :conditions =>["host_tasks.decommission_id = ? AND host_tasks.completed IS NULL", params[:id]], :order => "tasks.position")
Затем перебирайте каждую из них для отображения.Или просто:
@tasks = HostTask.find(:all, :include => [:task], :conditions =>["host_tasks.decommission_id = ?", params[:id]], :order => "tasks.position")
Циклически перебирая @tasks дважды и показывая только, если @ tasks.completed имеет значение null, а не null?