Quelle est la meilleure façon d'architecturer une application Rails pour gérer deux classes d'utilisateurs distinctes? Pour un marché, il y aura des acheteurs et des vendeurs. Il y aura des fonctionnalités qui se chevaucheront dans l'édition des profils et autres, mais la plupart des fonctionnalités seront distinctes. L'approche dans le post suivant est-elle un bon moyen de le faire? J'espère utiliser l'authentification RESTful.Planification de deux types d'utilisateurs dans une application Rails
Répondre
Je garderais l'authentification séparée des informations et des détails de l'utilisateur. Avoir un objet UserAuth
pour auth, puis une association polymorphe à un enregistrement User
. Un acheteur et un vendeur sont alors juste des sous-catégories d'utilisateurs, tant que vous les référez et non les objets UserAuth
tous les rails aidants (render @user
pour rendre un _buyer
ou un _seller
partiel etc.) devraient fonctionner correctement.
L'acheteur et le vendeur peuvent à nouveau déléguer des tâches génériques à l'instance UserAuth.
Juste une idée.
Vous pouvez simplement utiliser une instance de RESTful authentification et ajouter une colonne à la table des utilisateurs qui dire quelle classe un utilisateur était partie. Vous pouvez ensuite afficher certains liens/pages uniquement pour les utilisateurs correspondant à une classe particulière.
J'utilise cette méthode pour avoir différents rôles utilisateur (administrateur, éditeur, utilisateur régulier, etc.).
Vous pouvez également envisager d'utiliser un plus à part entière plugin autorisation comme:
- http://github.com/DocSavage/rails-authorization-plugin
- http://github.com/stffn/declarative_authorization
Un tel système vous fournit un DSL complet pour fournir un accès à votre application.
- 1. Application de planification de ressources
- 2. Deux versions d'Excel dans une application?
- 3. Sélectionnez deux colonnes de types similaires dans une requête Linq
- 4. Planification du développement d'une application Web évolutive
- 5. "Ordre des onglets" dans une application rails
- 6. Connexion des threads dans une application Rails
- 7. Données non persistantes dans une application Rails
- 8. Combinaison de deux applications Rails en une seule
- 9. Rails Types énumérés ou alternatives
- 10. Composant de vue de planification dans Swing
- 11. periodically_call_remote: Rails AJAX pour une application facebook
- 12. La combinaison Scriptaculous et JQuery dans une application Rails
- 13. Une application Rails, plusieurs noms de domaine
- 14. Planification de la création de fichiers PDF dans Ruby on Rails
- 15. Ajout de wordpress Blog dans une application Rails
- 16. Méthodes de surveillance des instances Workling dans une application Rails
- 17. sleep() est une bonne idée pour la boucle principale d'une application de planification de travail
- 18. rails trombone différents types de fichiers problème
- 19. Evénements de planification de calendrier Java
- 20. insérer deux types de tableau dans la même table
- 21. SimpleRepository de SubSonic peut-il s'inscrire dans une transaction pour deux types d'objets différents?
- 22. liens dans les commentaires dans une application rails
- 23. Types de connexion pour une application Web .net
- 24. Comment coder deux onglets différents dans une application iPhone?
- 25. Comment traiter deux types similaires en un?
- 26. Planification des threads Swingworker
- 27. Fusionner deux types DateTime en C#
- 28. Comment désinstaller une application Ruby on Rails?
- 29. Javascript Inclure la meilleure pratique d'étiquette dans une application Rails
- 30. Accès aux documents Word dans une application Rails