设计 - 如果用户已停用,则显示页面以允许他们重新激活

时间:2018-05-08 04:39:48

标签: ruby-on-rails devise

我已按照以下文章中的教程了解如何停用用户: https://github.com/plataformatec/devise/wiki/How-to:-Soft-delete-a-user-when-user-deletes-account

我的问题是,我该如何制作,以便当停用的用户登录时,会向他们显示一个允许重新启动其帐户的页面? IE:“用户/重新激活”,按钮重新激活?

我知道我必须重写默认的用户会话控制器,但我不太确定调用active_for_authentication的时间点或方式,以及如何覆盖重定向。

1 个答案:

答案 0 :(得分:0)

当用户尝试登录时,请求将路由到create的{​​{1}}方法,如果凭据有效,则会创建此用户的会话。在该方法中,您只需要检查是否填充了sessions_controller.rb列,然后是一些分支逻辑,以重定向到您有效登录的任何登录页面或重新激活页面。

您的代码看起来类似于以下示例,但同样,您没有提供实现细节,因此适合您:

deleted_at