Не самый удачный вариант, ты забиваешь память объектами, которые по факту тебе не нужны. Намного оптимальнее будет выбрать то, что тебе нужно сразу на уровне контроллера:
def index
@tasks = completed_tasks
end
private
def completed_tasks
Task.where(done: true)
end
При желании, ты даже можешь объявить completed_tasks как helper_method класса, и передавать в этот метод параметры для дополнительных сортировок order(*args) из представления.
Идеальным же вариантом как по мне, было бы использование enum (task: open/completed), тогда можно было бы обойтись: @tasks = Task.completed
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.