You are right. If you want to delete the User and all associated objects -> destroy_all
However, if you just want to delete the User without suppressing all associated objects -> delete_all
According to this post : Rails :dependent => :destroy VS :dependent => :delete_all
destroy
/destroy_all
: The associated objects are destroyed alongside this object by calling their destroy methoddelete
/delete_all
: All associated objects are destroyed immediately without calling their :destroy method