2009-12-11 52 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存储太多信息。