Да, ключ здесь в том, чтобы знать, как зашифровать params [: пароль], чтобы иметь возможность сравнить его с current_user.encrypted_password
В старых версиях Devise также используется пароль_сольта. Я бы посоветовал вам взглянуть на то, как devis делает это при входе в систему, и использовать тот же метод в вашем действии уничтожения, или какую-либо другую пользовательскую страницу для этого.