J'utilise la gemme Devise Ruby dans mon application Ruby on Rails 3. Lorsqu'un utilisateur connecté crée l'un de mes modèles, je souhaite enregistrer son identifiant utilisateur en tant que personne qui l'a créé. Que devrais-je faire?Devise authentication gem: Comment enregistrer l'identifiant de l'utilisateur connecté?
4
A
Répondre
6
Créer un fichier de migration avec une colonne de type
integer
nomméuser_id
, c'est où l'association sera stockée. (Voir le migration guide pour plus de détails sur la façon de procéder).dans votre modèle, ajoutez:
belongs_to :user
(voir le associations guide pour plus de détails)dans le contrôleur pour votre modèle, ajoutez
@your_model.user = current_user
dans l'action create. Cela fera l'association que vous recherchez. (current_user
est une méthode fournie par legs qui renvoie l'utilisateur ActiveRecord pour l'utilisateur actuellement connecté)
Note: il y a plus d'une façon de faire l'association réelle. Je suggère de le faire dans le contrôleur mais cela pourrait être fait dans le modèle ou ailleurs.
Questions connexes
- 1. L'utilisateur est-il connecté? (reposful-authentication)
- 2. gem Devise: module complémentaire après l'installation
- 3. Afficher l'adresse e-mail de l'utilisateur connecté, aspnet forms authentication
- 4. Comment enregistrer le nom de l'utilisateur connecté?
- 5. Problème de chiffrement de mot de passe dans Rails Devise gem
- 6. Confirmation d'enregistrement de devise
- 7. Webservice Authentication
- 8. API Symfony Basic Http Authentication
- 9. Comment spécifier Devise 'de' email
- 10. spring jmx authentication
- 11. Cross Domain Authentication
- 12. .NET Forms Authentication
- 13. Erreur de routage Concombre + Devise
- 14. Asp.net Membership & Authentication
- 15. Sharepoint Multi Authentication
- 16. FBML Canvas Application Authentication
- 17. Gwt-gdata authentication
- 18. comment réparer obtenir «format de gem invalide» pour chaque gem
- 19. requiressl forms authentication
- 20. Apache basic authentication
- 21. actionscript httpservice authentication popup
- 22. Java XmlRPC Authentication
- 23. flex - SWFLoader - authentication
- 24. Java LDAP Authentication
- 25. asp.net windows authentication
- 26. C# Winform Authentication Framework
- 27. Format de devise Excel Interop
- 28. Devise before filter qui empêche l'accès à "new_user_registration_path" sauf si l'utilisateur est connecté
- 29. Comment afficher un message dans une redirection Asp.NET Forms Authentication?
- 30. Comment geler Facebooker gem?
ne serait-il pas plus sûr ou plus adhérent à MVC que le modèle en a pris soin? comment allez-vous mettre en œuvre cela? –
Il y a plusieurs façons de le faire dans le modèle. L'un d'eux serait d'utiliser le before_create (voir: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html) pour forcer l'association avec current_user. –