我希望人们无需登录即可对事物“投票”。我正在考虑这样做的方式是通过 cookie。
每个帖子跟踪这些 cookie 的推荐方法是什么?
例如,用户查看帖子,然后“投票”。现在该帖子投票存储在 cookie 中,当该用户访问该页面时,它会说他们投票支持该页面。
我应该为每个帖子创建一个 cookie,还是一个 cookie 是他们投票的所有帖子的哈希值?
提示/代码示例将不胜感激。谢谢你。
我希望人们无需登录即可对事物“投票”。我正在考虑这样做的方式是通过 cookie。
每个帖子跟踪这些 cookie 的推荐方法是什么?
例如,用户查看帖子,然后“投票”。现在该帖子投票存储在 cookie 中,当该用户访问该页面时,它会说他们投票支持该页面。
我应该为每个帖子创建一个 cookie,还是一个 cookie 是他们投票的所有帖子的哈希值?
提示/代码示例将不胜感激。谢谢你。
我认为你的方向是正确的,cookies 是为这种类型的,只需要存储不敏感的信息,比如搜索历史。请记住不要给 cookie 任何过期时间,它将保留在用户浏览器中,并且大多数普通用户不会清除 cookie,因此对您来说不会有问题。
你可以这样使用它cookies[:voted] = true
在你登记投票时放这个,每次投票前检查这个
if cookies[:voted]
return # or show that you have already voted
如果您还想保存他们上次投票的投票,您可以将其保存在 cookie 中以便下次检索。
您可以通过 访问 cookie cookies[:cookie_name]
。更多细节在这里:http ://api.rubyonrails.org/classes/ActionDispatch/Cookies.html