Что происходит с объектом корзины по истечении сеанса? - PullRequest
1 голос
/ 10 марта 2011

Я следую учебным курсам по Agile Web Development и столкнулся с досадной проблемой текущей реализации. если сеанс изменяется или истекает, корзина все еще существует в базе данных. Как Rails должен иметь дело с этими бесполезными объектами корзины?

Спасибо

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Обычно фоновый процесс удаляет старые корзины покупок так часто.Вы должны остерегаться воссоздания сессии, пока кто-то делает покупки.Это будет считаться ошибкой, если вы используете его для отслеживания корзины покупок.

Если у вас также есть идентификатор пользователя, то корзину покупок с идентификатором пользователя можно извлечь в другой сеанс.В этом случае фоновый процесс может держать их дольше, чем анонимная корзина.Восстановление потерянных тележек занимает немного больше кода, но может быть хорошей функцией.

0 голосов
/ 10 марта 2011

Как видите, каждый раз, когда кто-то входит в ваше приложение, он создает новый объект корзины (также, очевидно, новую строку корзины) .... так что в итоге у вас будет много бесполезной строки корзины (дляпример для тех пользователей, которые ничего не оформляют).Один из вариантов - изменить способ создания корзины, а другой, как говорит Билтор, - выполнить фоновый процесс (или задачу rake), чтобы уничтожить все бесполезные корзины.

...