Удобно сделать scope done, not_done и использовать их
<% @tasks.done.each do |task| %>
...
<% end %>
Чтобы сделать scope, надо в app/models/task.rb прописать
scope :done, -> { where(done: true) }
scope :not_done, -> { where(done: false) }
К слову scope конечно же надо использовать не только во вьюхах, можно сразу в контроллере
@tasks = Task.done