Вопрос

Я пытаюсь создать простую корзину для покупок, читаю об управлении ими и вижу, что есть три способа управления ими.один — файлы cookie, другой — сеансовый, а последний — модель базы данных.Мне интересно, какой из них лучше выбрать?некоторые говорили, что метод базы данных лучше, но и сложнее.Я также ищу учебник по модели базы данных...

Это было полезно?

Решение

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

Ответ на ваш вопрос зависит от того, какого рода и сколько данных вы храните в сеансе.Файлы cookie имеют ограничения по размеру, и вам не следует хранить в них конфиденциальные пользовательские данные в незашифрованном виде.Некоторые скажут, что не следует даже хранить в зашифрованном виде такие вещи, как номера кредитных карт.Обратной стороной сеансов с поддержкой БД является необходимость время от времени очищать их.Это легко сделать с помощью задачи rake, запускаемой через задание cron, но вам все равно придется об этом подумать.Сеансы с файловой поддержкой используются нечасто и предназначены скорее для того, чтобы вы могли быстро приступить к работе.Я бы не стал использовать сеансы с файловой поддержкой в ​​​​производстве.

Authlogic — это жемчужина, которую вы можете использовать в своем проекте Rails.Он предоставляет модель UserSession, от которой вы можете наследовать.Он имеет множество функций и полностью настраивается.

Другие советы

Созданные мной корзины покупок сохраняют информацию в базе данных и просто сохраняют идентификатор cart_id в сеансе. Тогда вам просто нужна работа, которая убирает невыполненные корзины покупок из БД каждые несколько дней.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top