2009-09-10 12 views
1

J'essaie de construire un panier simple, j'ai lu sur les contrôler et voir qu'il y a 3 façons de les contrôler. l'un est des cookies, un autre est basé sur la session, et le dernier est le modèle de base de données. Je me demande quel est le meilleur choix? certains ont dit que la méthode de base de données est meilleure mais plus difficile aussi. Je suis également à la recherche d'un tutoriel de modèle de base de données ...Meilleure façon de contrôler les paniers

Répondre

3

Ce dont vous semblez vraiment parler, ce sont les sessions. Vous stockerez probablement certaines de vos données de panier dans la session pendant que l'utilisateur est en train de vérifier, c'est donc d'où votre confusion pourrait provenir.

La réponse à votre question dépend du type et de la quantité de données que vous stockez dans la session. Les cookies ont des limites de taille et vous ne devriez pas stocker de données d'utilisateur sensibles dans les données non cryptées. Certains diront que vous ne devriez même pas chiffrer les numéros de carte de crédit. L'inconvénient des sessions DB-soutenu, vous devez les effacer de temps en temps. Ceci est facilement fait avec une tâche de rake exécutée par un travail de cron, mais c'est toujours quelque chose que vous devez penser. Les sessions sauvegardées par des fichiers ne sont pas souvent utilisées et il n'y en a plus que pour vous permettre de démarrer rapidement quelque chose. Je ne fonctionnerais pas avec des sessions sauvegardées par fichier en production.

Authlogic est une gemme que vous pouvez intégrer dans votre projet Rails. Il fournit un modèle UserSession dont vous pouvez hériter. Il a beaucoup de fonctionnalités et est entièrement configurable.

+0

+1 pour authlogic et sinon bonne réponse –

2

Les paniers que j'ai créés stockent les informations dans la base de données et stockent simplement cart_id dans la session. Ensuite, vous avez juste besoin d'un travail qui nettoie les caddies non remplis de db tous les quelques jours.