2010-08-07 43 views
7

目前正在開發一個購物車,爲持續的車,因爲我看到他們有三種選擇:堅持紅寶石購物車on Rails的

  1. 存放在會話表,整個車對象。
  2. 將整個購物車對象存儲在cookie會話中。
  3. 有一個購物車表,並將購物車ID存儲在cookie會話中。

我錯過了嗎?這是最好的滾動請?

謝謝

+1

隨着#3,一定要保護的cookie。否則,可以更改Cookie中的購物車ID以潛在「劫持」其他購物車。 Rails 3中的默認會話存儲是CookieStore,它拒絕被篡改的cookie。 – randomguy 2012-12-05 13:47:04

回答

10

#3可能是你最好的選擇,因爲這給你最大的自由度/靈活性。說有一天你希望用戶能夠在會話之間保存購物車。或者您希望爲用戶保留購物車歷史記錄。或者您決定對購物車數據運行一些分析。

#2是一個不好的解決方案,因爲瀏覽器的cookie大小限制。您正在設置自己的大型購物車受到損壞的惡意錯誤,特別是在舊版瀏覽器中。

5