0

我在我的 Rails 应用程序中使用带有 cancan 的 Devise 进行身份验证,我希望能够阻止某些帐户并防止用户使用被阻止的电子邮件和电话进行注册。我只是不确定最好的方法是什么。

我有角色:管理员、版主和用户管理员:必须有能力禁止/阻止版主,用户版主:必须有能力禁止/阻止用户

我的第一个想法是添加新的“阻塞”角色,但我认为有更好的方法。

4

1 回答 1

2

我会采用最简单的方法:只需在您的用户表上获取一个布尔值“阻塞”。然后定义类似:

class User 
  def block(other_user)
    if(can_block? other_user)
      other_user.block = true
      other_user.save!
    end
  end

  def can_block?(other_user)
    # Your logic using the roles.
  end
end

直截了当,但我喜欢这样。

于 2013-05-08T16:36:58.293 回答