Você não pode simplesmente colocar um validador na tarefa? validates :name, :uniqueness => true Isso deve garantir a exclusividade no documento pai.