2010-10-19 3 views

Répondre

3

je créerais une aide dans application_controller pour current_user et éliminer l'utilisation de User.find

La façon la plus simple de créer une autorisation est avec un drapeau booléen (admin vrai/faux). Pour d'autres solutions simples sont cancan, comme mentionné par Yannis ou easy_roles KISS est recommandé de commencer avec. Vous pouvez mettre en œuvre l'action de modifier comme celui-ci

def edit 
if current_user.is_admin? 
    User.find(params[:id]) 
else 
    current_user 
end 
end 

application_controller.rb

def current_user 
    UserSession.find 
end 

Pour limiter l'accès par l'utilisateur, comme un utilisateur ayant ses propres tâches/le sien, faire.

def index 
    @tasks = current_user.tasks 
end 
+0

Merci, c'est génial. –

2

Devise est une solution d'authentification. Vous avez maintenant besoin d'un système d'autorisation. Jetez un coup d'œil à Ryan Bates CanCan (github, railscasts).

+0

Ah, je me demandais à ce sujet. Merci. –

Questions connexes