J'ai besoin de connaître l'identifiant de l'utilisateur actuel dans un modèle: mais je suppose que ce n'est pas comme ça que c'est fait? P> Cordialement, p> jacob p> p>
3 Réponses :
Ce n'est pas possible.
Le courant actuel repose sur la session, qui n'est pas disponible dans le modèle (et c'est normal. Les modèles sont indépendants de contexte). P>
Vous devez transmettre l'utilisateur au modèle sous forme de paramètre. p>
Il est correct pour rester conforme MVC ... Bien sûr, il n'est pas techniquement pas correct. Cela ne signifie pas que c'est une bonne pratique.
Je voulais dire que dire "ce n'est pas possible" n'est pas correct. Je suis d'accord avec vous sur la mauvaise pratique.
supposer que l'utilisateur est logedin, vous pouvez utiliser p>
Vous voudrez peut-être ajouter des chèques pour vous assurer que usersessionsession.find.user code> p>
usersession.find code> renvoie quelque chose avant d'appeler
.User code> p> p> P>
Le courant_utilisateur ne serait-il pas juste de soi? Si vous appelez actuelle_user.save quelque part dans le contrôleur, alors le: After_save: Quelque chose saura tout savoir sur l'utilisateur ... Sauf si un autre utilisateur ne peut répondre en tant qu'utilisateur actuel, vous n'avez pas vraiment besoin de la méthode "actuelle_user" que je suppose .. .
J'essayais juste de comprendre cela moi-même. Merci!
Cela permet aux méthodes de validation fantastiques telles que Mot de passe ne peut être modifiée que si User == utilisateur actuel i>
Le meilleur moyen d'accéder à l'actuel_utilisateur dans le (s) modèle (s) lors de l'utilisation d'Authlogic utilise un utilisateur sensitaire - https: / /Github.com/bokmann/sentant_user Il y a une documentation complète sur la façon de l'utiliser. P>