Olá Cristiano, tudo bem?
A mensagem de erro apresentada está correta, você colocou:
this.destroy();
O correto seria:
book.destroy();
Quando você coloca this.destroy()
ele tenta executar algum método chamado destroy()
na tua classe. O que provavelmente não existe, por isso ocorre erro.
E quando você mencionou que colocou this.delete(id)
e não deu erro, é porque na tua classe existe o método delete
, mas é o mesmo método em questão. Então provavelmente entrou em um loop infinito ai.
Resumindo, se você colocar book.destroy()
irá funcionar perfeitamente. Pois após encontrar o livro, de acordo com a linha de cima, é este livro que ele irá destruir.
Espero ter ajudado.