Rails自定义为禁用用户设置登录消息

时间:2014-07-23 11:38:14

标签: ruby-on-rails ruby flash devise messages

我正在制作一个rails应用程序,我有用户也可以是管理员。 管理员可以禁用用户。我允许残疾用户登录并查看内容,但不发布任何内容。

如何创建自定义消息,告知用户登录时其帐户已被禁用?目前我的默认设计通知显示(已成功登录)。

首先,我通过简单地禁用用户登录来解决了这个问题:

user.rb

  def active_for_authentication?
    super && self.is_active?
  end

  def inactive_message
    is_active? ? super : 'Your account has been disabled. Please contact our support team if you think this was a mistake.'
  end

但是像这样用户无法登录。

1 个答案:

答案 0 :(得分:0)

由于您的残障用户并非真正“禁用”#34;,我建议您分配一个" readonly"角色,并相应地定制授权。康康舞宝石https://github.com/ryanb/cancan使这很容易,并与设计很好地融为一体。

通过这种方式,您还可以保留真正的禁用功能,稍后您可能需要这样做。