加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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){}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读