Ruby on rails Rails 3:如何判断用户以前是否访问过页面?

Ruby on rails Rails 3:如何判断用户以前是否访问过页面?,ruby-on-rails,ruby-on-rails-3,cookies,Ruby On Rails,Ruby On Rails 3,Cookies,我有一个Rails应用程序(使用Authlogic进行身份验证),带有一个简单的jquery动画,我只想在第一次加载页面时运行一次。我知道关键是检查cookies或其他东西,看看用户以前是否访问过该页面。请原谅我的N00B,我对HTTP cookies或会话知之甚少甚至一无所知 那么,查看访问用户(即使他们没有登录)是否第一次查看页面的最佳方法是什么 编辑:好的,所以我意识到我不是完全清楚 我花了数小时研究类似的问题,阅读了Rails API文档中的Cookie和Session,但我仍然无法想象

我有一个Rails应用程序(使用Authlogic进行身份验证),带有一个简单的jquery动画,我只想在第一次加载页面时运行一次。我知道关键是检查cookies或其他东西,看看用户以前是否访问过该页面。请原谅我的N00B,我对HTTP cookies或会话知之甚少甚至一无所知

那么,查看访问用户(即使他们没有登录)是否第一次查看页面的最佳方法是什么

编辑:好的,所以我意识到我不是完全清楚

我花了数小时研究类似的问题,阅读了Rails API文档中的Cookie和Session,但我仍然无法想象如何为网站中的每个页面实现已访问?功能,该功能只有在用户第一次访问页面后才会设置为“true”。我看了假设的“重复”问题和相应的答案,仍然无法理解

这是我的“页面”控制器:

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值。有人能帮我一下吗


~Dan

忽略Javascript中的cookie


使用引用的问题作为副本,使用永久cooke,在第一次运行时,从Rails在您的身体上设置一个类(比如说
first run
)。然后,让javascript检查
body
是否有类
第一次运行
。此时,您可以让javascript执行其第一次运行的代码。

您可以设置如下cookie:

cookies[:welcomed] = {:value => true, :expires => Time.now + 6.months}
并从jquery生成一个wee函数

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;
}

看起来像是编辑的副本,以使我的问题更清楚。我看了另一个问题,仍然无法理解。
  if (readCookie('welcomed') == null){}