Pregunta

Estoy tratando de construir un carrito de la compra simple, leí acerca de cómo controlarlos y veo que hay 3 formas de controlarlos. una es las cookies, otra está basada en la sesión y la última es el modelo de base de datos. Me pregunto cuál es la mejor opción. algunos dijeron que el método de base de datos es mejor pero también es más difícil. También estoy buscando un tutorial de modelo de base de datos ...

¿Fue útil?

Solución

De lo que realmente parece estar hablando es de sesiones. Es probable que almacene algunos de los datos de su carrito de compras en la sesión mientras el usuario realiza el check out, por lo que es de donde puede provenir su confusión.

La respuesta a su pregunta depende de qué tipo y cuánta información esté almacenando en la sesión. Las cookies tienen límites de tamaño y no debe almacenar datos de usuario confidenciales sin cifrar. Algunos dirían que ni siquiera deberías poner cosas como números de tarjetas de crédito cifradas. La desventaja de las sesiones respaldadas por DB es que debe eliminarlas cada cierto tiempo. Esto se hace fácilmente con una tarea de rake ejecutada a través de un trabajo cron, pero aún es algo en lo que tienes que pensar. Las sesiones con respaldo de archivos no se usan con frecuencia y hay más solo para ponerlo en funcionamiento rápidamente. No correría con sesiones respaldadas por archivos en producción.

Authlogic es una joya que puedes incluir en tu proyecto Rails. Proporciona un modelo de UserSession del que puede heredar. Tiene muchas características y es totalmente configurable.

Otros consejos

Los carros de la compra que he construido almacenan la información en la base de datos y simplemente almacenan el cart_id en la sesión. Entonces solo necesita un trabajo que limpie los carros de compras no completados de db cada pocos días.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top