2013-05-08 5 views
0

J'utilise Devise with cancan pour l'authentification dans l'application mes rails et j'aimerais pouvoir bloquer certains comptes et empêcher les utilisateurs de s'inscrire avec un e-mail et un téléphone bloqués. Je ne suis pas sûr de ce que la meilleure façon pour cela.Meilleure façon d'implémenter l'application d'interdiction de rails

je rôles: admin, modérateur, et l'utilisateur admin: doit avoir la capacité d'interdire/modérateurs de blocs, et les utilisateurs modérateur: doit avoir la capacité d'interdire/utilisateurs de bloc

Ma première pensée était d'ajouter de nouvelles "bloqué" le rôle, mais je pense qu'il y a un meilleur moyen.

Répondre

2

Je voudrais aller le plus simple: juste obtenir un booléen "bloqué" sur votre table utilisateur. Puis définissez quelque chose comme:

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 

Simple, mais je l'aime comme ça.

Questions connexes