2009-09-04 5 views
1

J'ai un modèle d'utilisateur et un modèle de profil.Limiter l'affichage de certains éléments de la page uniquement au propriétaire du profil?

utilisateur has_one :profile
profil belongs_to :user

Sur la vue « show » du profil, il y a un champ d'entrée que seul le propriétaire du profil devrait voir. Je l'ai actuellement limitée à l'endroit où seul un utilisateur connecté peut le voir, mais j'en ai besoin pour aller plus loin et apparaître uniquement visible à l'utilisateur qui possède ce profil particulier. J'utilise ce qui suit pour limiter la vue aux seuls utilisateurs connectés: <% si connecté? %>.

Répondre

1

Je ne fais que deviner ici, mais je suppose que vous utilisez restful_authentication à cause de la méthode logged_in. Si c'est le cas, vous pouvez utiliser current_user pour filtrer cela.

Exemple: (en supposant que vous avez une variable @user)

terrain montrent
+0

de Nice! Ça a marché. Merci. – MikeH

0

Définissez une variable SESSION avec le nom d'utilisateur lorsque l'utilisateur est authentifié. Ensuite, dans chaque page lorsque vous vérifiez si la session est définie, vérifiez si cet utilisateur (défini dans la variable de session) a accès à ce que cette page contient OU affichez uniquement la partie à laquelle seul cet utilisateur a accès.

Questions connexes