もちろん、デバイスを変更せずにこのソリューションを使用することはできません。 Deviseは条件をデータベースに直接送信するため、メソッドを呼び出したり、squeelなどのライブラリを使用したりする方法はありません(where{created_at == nil}
のようなものが許可されます 。
で提供されているソリューションを使用できますDeviseでユーザーを「ソフト削除」する方法 、ただし、エラーメッセージは次のようになります:「続行する前にアカウントを確認する必要があります。」
これをリソースモデルに追加します:
def inactive_message
!!deleted_at ? :deleted : super
end
そして、ロケールにメッセージを追加します:
en:
devise:
failure:
deleted: "Your account was deleted."
お役に立てば幸いです!