Ruby on rails 防止禁用用户使用Rails和Device登录

Ruby on rails 防止禁用用户使用Rails和Device登录,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,在我的rails 3.2.11应用程序中,我使用Desive处理用户登录。这一切都很好,但我想向登录添加新的验证,这样,如果禁用标志设置为true,它将阻止该用户登录,直到管理员重新启用它们 看起来我可以覆盖designe sessioncontroller,并在那里处理功能,但是通过designe文档,我注意到了validatable选项,它看起来应该能够处理我正在尝试做的事情(并且是一个更干净的解决方案) 因此,我的问题是: 1) 我对validatable选项的理解是否正确,它可以用来添加

在我的rails 3.2.11应用程序中,我使用Desive处理用户登录。这一切都很好,但我想向登录添加新的验证,这样,如果禁用标志设置为true,它将阻止该用户登录,直到管理员重新启用它们

看起来我可以覆盖designe sessioncontroller,并在那里处理功能,但是通过designe文档,我注意到了validatable选项,它看起来应该能够处理我正在尝试做的事情(并且是一个更干净的解决方案)

因此,我的问题是:

1) 我对validatable选项的理解是否正确,它可以用来添加更多的登录验证

2) 如果是,我将如何使用它来检查我的用户模型中的禁用标志


在这方面,

可验证选项不是您所认为的。它只是对电子邮件和密码进行所有必要的基本验证。发件人:

Validatable为用户和电子邮件创建所有需要的验证 暗语这是可选的,因为您可能需要创建验证 你一个人。自动验证电子邮件是否存在、唯一 它的格式是有效的。还测试是否存在密码、确认 和长度

以自己的方式覆盖会话控制器可能是最好的选择。在您的情况下,我可能会做的是在\u过滤器之后添加一个
:check\u user\u flag
以检查该标志,如果禁用,则用一条消息说明原因,让用户注销