2010-12-01 3 views
0

J'ai l'application rails 3 qui affiche les enregistrements d'une base de données dans la table. Je veux la même méthode pour vérifier si le contrôleur d'administration est utilisé et si oui ajouter des options de modification d'édition aux éléments de la table.ce que les meilleurs rails façon de faire ce qui suit

Exemple: connecté dans un aucun serveur admin/home/list_info

  • Quelques Nom Information Adresse
  • Plus d'info Nom Adresse

connecté en tant qu'administrateur sever/admin/list_info

  • Certaines informations nom adresse Modifier Supprimer
  • Plus d'infos nom adresse Modifier Supprimer

J'ai actuellement deux contrôleurs et deux méthodes d'affichage, la méthode admin est juste une copie avec les liens Edit Delete à la fin. Cela ne me semble pas très sec. Qu'est-ce que les gens font dans cette situation?

Merci beaucoup Andy

Répondre

1

Je pense que la meilleure façon est d'avoir un ensemble de contrôleurs/vues et voir simplement si l'utilisateur actuel est un administrateur. Si oui, affichez les liens d'édition/suppression.

En règle générale, vous pouvez utiliser pour l'authentification et Devise CanCan d'autorisation.

fournit un objet Devise current_user, donc si vous mettre en œuvre une méthode admin? vous pouvez utiliser quelque chose comme

<%= link_to_if current_user.admin?, 'Delete', ... %> 

Note: les utilisations ci-dessus ne Concevez, pas Cancan.

+0

ok merci, j'étais plus après une réponse pour générer la table html. selon l'utilisateur ou l'administrateur, dans la même méthode – AndyM

+0

oui merci pour cela. – AndyM

+0

Vous pouvez avoir la même méthode pour générer la table en fonction de l'utilisateur ou de l'administrateur: il suffit d'avoir le code ci-dessus dans l'une des tables de la cellule (où vous placeriez le lien dans la vue admin) –

Questions connexes