user = User.destroy(name: 'David')
зачем присваивать переменной удаляемый объект?
обычно делается так:
User.find_by(name: 'David').destroy
или если нужно удалить все записи, где name: 'David' :
User.where(name: 'David').destroy_all
документации полно по азам AR, в т.ч. и на русском языке