ruby-on-rails – Rails 3:如何判断用户之前是否访问了某个页面
发布时间:2020-12-17 03:10:12 所属栏目:百科 来源:网络整理
导读:我有一个Rails应用程序(使用Authlogic进行身份验证)和一个简单的 jquery动画,我只想在第一页加载时运行一次.我知道关键是检查cookie或其他东西,以查看用户之前是否访问过该页面.请原谅我的n00bness,我对HTTP cookie或会话知之甚少. 那么,查看访问用户(即使他
我有一个Rails应用程序(使用Authlogic进行身份验证)和一个简单的
jquery动画,我只想在第一页加载时运行一次.我知道关键是检查cookie或其他东西,以查看用户之前是否访问过该页面.请原谅我的n00bness,我对HTTP cookie或会话知之甚少.
那么,查看访问用户(即使他们还没有登录)是否第一次查看页面的最佳方法是什么? 编辑:好的,所以我意识到我并不完全清楚. 我花了好几个小时查看类似的问题,阅读Rails API文档中的cookie和会话,我仍然无法想象如何实现访问?我的网站中每个页面的功能,只有在用户第一次访问该页面后才会设置为“true”.我查看了所谓的“重复”问题Rails Detect If User’s Very First Visit和相应的答案,但仍然无法弄明白. 这是我的“Pages”控制器: def home @title = "Home" end def contact @title = "Contact Us" end DD 我的jquery javascript做了一个简单的动画: $(document).ready(function() { if (!$.cookie('visited')) { $('.title .flying-text').css({opacity:0}); $('.title .active-text').animate({ opacity:1,marginTop: "-150px",},5000); } }); 我只希望它显示用户之前是否没有访问过该页面.我不知道如何在Rails中正确设置cookie,也不知道如何设置它,也不知道如何确保动画脚本可以访问完全相同的cookie值.有人可以帮我一把吗? ?丹 解决方法
您可以像这样设置一个cookie:
cookies[:welcomed] = {:value => true,:expires => Time.now + 6.months} 并从jquery做一个小功能 function readCookie(name) { var nameEQ = name + "=",ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i += 1) { var c = ca[i]; while (c.charAt(0) === ' ') { c = c.substring(1,c.length); } if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length,c.length); } } return null; } 并称之为#in js if (readCookie('welcomed') == null){} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |