Лучший способ контролировать тележки - PullRequest
1 голос
/ 10 сентября 2009

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

Ответы [ 2 ]

3 голосов
/ 10 сентября 2009

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

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

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

2 голосов
/ 10 сентября 2009

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

...