Domanda

Sto cercando di creare un carrello della spesa semplice, ho letto di controllarli e vedo che ci sono 3 modi per controllarli. uno è cookie, un altro è basato sulla sessione e l'ultimo è il modello di database. Mi chiedo quale sia la scelta migliore? alcuni hanno detto che il metodo di database è migliore ma è anche più difficile. Sto anche cercando un tutorial sul modello di database ...

È stato utile?

Soluzione

Ciò di cui sembra davvero parlare sono le sessioni. Probabilmente memorizzerai alcuni dei dati del tuo carrello durante la sessione mentre l'utente sta effettuando il checkout, quindi è qui che potrebbe provenire la tua confusione.

La risposta alla tua domanda dipende dal tipo e dalla quantità di dati che stai memorizzando nella sessione. I cookie hanno limiti di dimensione e non dovresti conservare dati utente sensibili al loro interno non crittografati. Alcuni direbbero che non dovresti nemmeno inserire cose come i numeri di carta di credito lì crittografati. L'aspetto negativo delle sessioni supportate da DB è necessario eliminarle ogni tanto. Questo è facilmente eseguibile con un'attività di rake eseguita tramite un processo cron, ma è ancora qualcosa a cui devi pensare. Le sessioni supportate da file non vengono utilizzate spesso e sono più utili solo per iniziare rapidamente a utilizzare qualcosa. Non correrei con sessioni supportate da file in produzione.

Authlogic è un gioiello che puoi inserire nel tuo progetto Rails. Fornisce un modello UserSession da cui è possibile ereditare. Ha molte funzionalità ed è completamente configurabile.

Altri suggerimenti

I carrelli acquisti che ho creato memorizzano le informazioni nel database e memorizzano cart_id nella sessione. Quindi hai solo bisogno di un lavoro che ripulisca i carrelli della spesa incompleti da db ogni pochi giorni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top