【发布时间】:2011-09-21 17:41:20
【问题描述】:
我为不同的用户提供了各种图片库。在大多数情况下,整个页面可能会被缓存。不过我还想要以下功能:
如果用户登录并访问他自己的画廊,那么用户 可以看到覆盖每个图像的“x”删除链接。
如果用户已登录并在其他人的图库中,则他们可以 请参阅叠加层“赞许”、“赞许”对每张图片进行投票。
如果用户未登录,他们可以看到覆盖 表决, 但是点击它们会弹出一个登录对话框。
我想出的方法是这样的:
- 在服务器端 erb 模板中,我将始终生成投票 无论登录状态如何,链接和删除链接,但我会有 它们默认隐藏在 css 中。
- 然后我将使用 js 揭示它们 取决于用户的登录状态。
问题是...确定用户在缓存页面上的登录状态的最佳方法是什么?我可以在缓存页面上使用 cookie 吗?
如果我在缓存页面上有一段 javascript 检查类似于此的 cookie 值,它会起作用吗:
if ($.cookie("user_id") == 23) { //if user is owner of this gallery...
//reveal delete links, hide voting links
}
我讨厌构建一些特殊的东西来设置那个 cookie...应该已经存在某种类型的 DEVISE cookie 吧?如何访问它?
【问题讨论】:
标签: javascript ruby-on-rails devise page-caching