【问题标题】:Storing "favorites" in a Rails cookie?在 Rails cookie 中存储“收藏夹”?
【发布时间】:2009-12-11 09:38:01
【问题描述】:

我正试图摆脱没有用户注册的懒惰想法来运行我的网站。

无论如何,我希望用户在点击“项目”中的“收藏”时能够“收藏”网站上的项目

我假设我需要为此使用 cookie,但我真的不知道下一步。谁能指出我正确的方向?

谢谢!

【问题讨论】:

    标签: ruby-on-rails cookies


    【解决方案1】:

    不是特定于 rails 的,但我不喜欢在 cookie 中存储太多东西的想法。相反,我将其存储在我网站上的数据库中,然后将主键值放入 cookie 中。这样您就可以随心所欲地存储尽可能多的数据,而无需通过网络传输太多。 “无注册”方法的缺点是,如果他们更改为新计算机,甚至是同一台计算机上的新浏览器,它们会丢失所有存储的数据。

    我在我的应用程序中所做的是存储一个带有“会话 ID”的 cookie。然后我有几个表,一个存储一次性数据,例如上次看到会话 ID 的日期,而其他表存储每个会话 ID 的多个项目。例如,我有一个“session_states(session_id, state)”表,它为人们从美国各州列表中选择的每个州存储一条记录。

    存储最后日期的一个原因是我从数据库中清除了两年内未见的所有会话 ID(因为我在创建 cookie 时给出了 +2 年的到期时间)。

    【讨论】:

    • 假设您有一个收藏夹表 对于用户收藏的每个项目,我将使用该项目的 id 创建一个新的收藏记录,然后创建一个指向收藏夹主键值的 cookie ?任何可能的伪代码? :)
    • 另外,cookie 只能是字符串值,对吧?如果我无法获得收藏夹数组,我将如何遍历收藏夹项目的集合以显示给用户?
    【解决方案2】:

    也许您可以了解有关 Rails 上的 cookie 的更多信息。这个link 有很多关于这个主题的信息。我想你会感激的!

    但请注意不要使用 cookie 存储太多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 2017-01-24
      • 2014-05-17
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      相关资源
      最近更新 更多