2009-12-11 51 views
0

我試圖從沒有用戶註冊的懶惰想法運行我的網站。在Rails cookie中存儲「收藏夾」?

無論如何,我希望用戶能夠在網站上「最喜歡」的物品,當他們點擊「喜歡」關閉「項目」

我假設我需要使用Cookie來實現這一點,但我的真的不知道下一步。任何人都可以將我指向正確的方向嗎?

謝謝!

回答

2

沒有具體的軌道,但我不喜歡在cookie中存儲太多東西的想法。相反,我將它存儲在我的網站上的一個數據庫中,並將一個主鍵值放入cookie中。這樣你就可以存儲儘可能多或者少的數據,而不用通過網絡傳輸太多。 「無註冊」方法的缺點是,如果它們更改爲新計算機,甚至是同一臺計算機上的新瀏覽器,則會丟失所有存儲的數據。

我在我的應用程序中做的是用「會話ID」存儲cookie。然後,我有幾張表,其中一個存儲一次性數據,例如會話ID被查看的最後一個日期,另一些存儲每個會話ID多個項目。例如,我有一個「session_states(session_id,state)」表,它爲一個人從美國州列表中選擇的每個州存儲一條記錄。

存儲最後日期的一個原因是我清除了數據庫中任何兩年內未見過的會話id(因爲我在創建cookie時會過期+2年)。

+0

讓我們假設你有一張收藏夾 對於用戶最喜愛的每個項目,我會用項目的id創建一個新的最愛記錄,然後創建一個指向最喜歡的主鍵值的cookie? 任何psuedo代碼可能嗎? :) – 2009-12-11 01:25:45

+0

另外,一個cookie只能是一個字符串值的權利?如果我無法獲得收藏夾數組,我將如何迭代一系列收藏項以顯示給用戶? – 2009-12-11 01:29:31

0

也許你可以在Rails上了解更多關於cookies的知識。這link有很多關於這個話題的信息。我認爲你會欣賞它!

但請注意不要使用cookie存儲太多信息。