Consulte destroy exclui seus elementos associados, em que delete_all pode excluir vários dados da tabela própria comoDELETE * FROM table where field = 'xyz'
: Opções possíveis dependentes:
Controla o que acontece com os objetos associados quando o proprietário é destruído. Observe que eles são implementados como retornos de chamada, e o Rails executa retornos de chamada em ordem. Portanto, outros retornos de chamada semelhantes podem afetar o comportamento: dependente e o :dependent
comportamento pode afetar outros retornos de chamada.
:destroy
faz com que todos os objetos associados também sejam destruídos.
:delete_all
faz com que todos os objetos associados sejam excluídos diretamente do banco de dados (portanto, os retornos de chamada não serão executados).
:nullify
faz com que as chaves estrangeiras sejam definidas como NULL. Os retornos de chamada não são executados.
:restrict_with_exception
faz com que uma exceção seja gerada se houver algum registro associado.
:restrict_with_error
faz com que um erro seja adicionado ao proprietário se houver algum objeto associado.
Se estiver usando com a :through
opção, a associação no modelo de junção deve ser perten_to e os registros que são excluídos são os registros de junção, e não os registros associados.