Tất nhiên, bạn không thể sử dụng giải pháp này mà không cần sửa đổi công thức. Devise sẽ gửi các điều kiện của bạn trực tiếp đến cơ sở dữ liệu, vì vậy không có cách nào để gọi một phương thức hoặc sử dụng một thư viện như squeel (điều đó sẽ cho phép một cái gì đó như where{created_at == nil}
.
Bạn có thể sử dụng giải pháp được cung cấp trong Cách "xóa mềm" người dùng với Devise , nhưng thông báo lỗi sẽ là:"Bạn phải xác nhận tài khoản của mình trước khi tiếp tục."
Thêm cái này vào mô hình tài nguyên của bạn:
def inactive_message
!!deleted_at ? :deleted : super
end
Và thêm thông báo vào ngôn ngữ của bạn:
en:
devise:
failure:
deleted: "Your account was deleted."
Tôi hy vọng nó sẽ hữu ích!