我正在使用 Devise 处理 Rails 应用程序中的身份验证,并且正在使用 Permanent_records 软删除用户。我的 User 模型的默认范围是未删除的用户。如果用户删除(停用)他的帐户,我希望他能够通过登录重新激活他的帐户,类似于 Facebook 的做法。问题是,由于 Devise 不知道查找已删除的用户,因此找不到帐户。我考虑过覆盖 session#create 方法
def create
self.resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
respond_with resource, :location => after_sign_in_path_for(resource)
end
但由于这是由 Warden 处理的,看来我很不走运。我担心如果我开始挖得太深,我会开始破坏东西。
有任何想法吗?
谢谢!