`

比较session中数值的问题

阅读更多
今天写程序碰到一个问题,before_filter中的函数总是没有执行,贴出来我的代码:
ruby 代码
 
  1. before_filter :dont_lock_self:only=>:lock  
  2. before_filter :dont_unlock_self:only=>:unlock  
  3. before_filter :dont_destroy_self:only=>:destro  
  4.   
  5. protected  
  6. def operate_to_self?(user_id)  
  7.   if session[:user_id] == user_id  
  8.     return true  
  9.   end  
  10.   return false  
  11. end  
  12.   
  13. def dont_lock_self  
  14.   frag = operate_to_self?(params[:id])  
  15.   if frag == true  
  16.     flash[:notice] = "You Can not lock Yourself"  
  17.     redirect_to :action=>:list  
  18.   end  
  19. end  
  20.   
  21. def dont_unlock_self  
  22.   frag = operate_to_self?(params[:id])  
  23.   if frag == true  
  24.     flash[:notice] = "You Can not unlock Yourself"  
  25.     redirect_to :action=>:list  
  26.   end  
  27. end  
  28.   
  29. def dont_destroy_self  
  30.   frag = operate_to_self?(params[:id])  
  31.   if frag == true  
  32.     flash[:notice] = "You can't destroy Yourself"  
  33.     redirect_to :action=>:list  
  34.   end  
  35. en  
实验了半天(不会调试ror程序。。汗),发现operate_to_self?返回的总是false,一步步跟踪,发现问题出在这里
ruby 代码
 
  1. if session[:user_id] == user_id   
通过logger打印出来来看两个值相同,但是比较的结果却是不相同,猜想是两者的类型不同,加上 .to_i 参数,再进行比较,问题终于消失。
ruby 代码
 
  1. if session[:user_id].to_i == user_id.to_i    
分享到:
评论

相关推荐

    session配置secure和httpOnly

    在Web开发中,Session和Cookie是两种常见的会话管理机制。Cookie主要负责在客户端和服务器之间传递信息,而Session则是服务器端存储用户状态的一种手段。本文重点讨论的是Cookie中的两个重要属性:`secure`和`...

    JAVA的SESSION精准统计

    "JAVA的SESSION精准统计"这个主题旨在探讨如何在Java应用程序中实现对Session的准确且无误的计数,确保数据的正确性,避免出现如Session计数值为负数这样的异常情况。 首先,我们需要理解Session计数的基本原理。...

    Tomcat中实现Session小结

    在本文中,我们将深入探讨Tomcat服务器中实现Session的相关知识,这包括Session的基本概念、目的、实现机制以及通过示例进行的详细解析。 **什么是Session?** Session是Web开发中用来跟踪用户状态的一种机制。...

    session初始化+网站流量统计+在线人数

    本主题将深入探讨如何进行session初始化、实现网站流量统计以及监控在线人数,这些都是Web应用开发中的重要环节。 首先,让我们了解什么是Session。在Servlet环境中,每当用户打开一个新的会话(比如首次访问网页)...

    Asp.net做的计算器通过session 提交计算

    在页面B的后台代码中,可以获取Session中的数值,进行加法运算,并将结果显示在页面上。这种方法可以确保即使用户在计算过程中导航到其他页面,之前的计算信息也不会丢失。 实现这样的功能,开发者可能使用了以下...

    经典收藏Cookie和Session

    在Web开发中,为了维持用户的会话状态,通常有两种常用的技术:Cookie与Session。这两种技术各有特点,适用于不同的场景。 - **Cookie**: - **定义**:Cookie是一种存储在用户本地浏览器上的小型文本文件,主要...

    PHP Session处理及应用实例.pdf

    Session 变量可以保存文本或数值信息,并且可以在整个会话期内保持有效。Session 变量可以使用 PHP 函数 session_register() 注册,并可以在随后的页面中使用。 PHP 的 Session 处理机制使用 Session ID 来标识每个...

    php中实现精确设置session过期时间的方法

    同时,将`session.cookie_lifetime`设置为一个较大的数值,如999999999秒,表示在客户端的session ID有效期很长。不过,这并不意味着数据在服务器端也会永久保留,因为`session.gc_maxlifetime`依然会影响服务器上的...

    4ftl数值计算和默认value以及value转换1

    `request`, `session` 通常指的是 HTTP 请求对象和会话对象,在 FreeMarker 中可以用来访问请求参数、会话数据等。 以上是 FreeMarker 中的一些基础操作,实际上,它还支持更复杂的逻辑控制、迭代、条件判断等功能...

    matlab开发-SessionManager.zip.zip

    3. **版本控制**:与版本控制系统(如Git)集成,SessionManager可以记录每次会话的变更,便于回溯和比较不同版本。 4. **错误恢复**:如果在会话中出现错误,SessionManager可以帮助用户回到之前的稳定状态,避免...

    第六章ApplicationSession与Cookie对象.ppt

    在ASP.NET开发中,Application、Session和Cookie对象是三个重要的概念,它们主要用于在用户交互过程中管理数据和状态。本章将详细讲解这三个对象的功能、使用方法以及它们在Web应用程序中的作用。 一、Application...

    Web测试你需要知道的HTTP—cookie与session的实现

    1. **基于 Cookie 的 Session 实现**:在这种情况下,服务器将 Session ID 作为 Cookie 的内容存储在浏览器的临时 Cookie 中。每当客户端发起请求时,Session ID 都会以 Cookie 形式发送给服务器。 2. **URL 重写...

    Application、Session和Cookie对象分析.pptx

    在ASP.NET开发中,Application、Session和Cookie对象是三个至关重要的概念,它们分别用于不同的数据存储和传递场景。下面我们将详细分析这三个对象的功能、用法以及它们在网站应用程序中的作用。 1. **Application...

    ASP.NET_Session07.ppt

    它主要用于那些即使在页面生命周期中改变也不能丢失信息的控件,例如,一个计数器控件的当前计数值。控件状态不能在页面级别禁用,而是在控件级别控制。 隐藏的窗体字段是另一种基于客户端的存储方式,它们在HTML中...

    Session.TimeOut的最大取值是1440,超出会报错

    如果尝试设置更大的数值,例如1441分钟,服务器在处理时会触发一个“运行时错误”,具体的错误信息如描述中所示:“ASP 0164 : 80004005 - 超时值无效”。 错误信息“指定的超时值无效”表明你试图设置的Session...

    TensorFlow Session使用的两种方法小结

    在TensorFlow库中,Session是执行计算图的关键组件,它负责将定义的计算图转换为实际的数值操作。本文将详细解析两种常见的TensorFlow Session使用方法,并通过一个矩阵乘法的例子来具体阐述。 首先,我们需要了解...

    IIS 7.5 asp Session超时时间设置方法

    - 当你在IIS管理界面、web.config以及代码中都设置了Session超时时间时,以数值最小的设置为准。例如,web.config中设置为60分钟,代码中设置为40分钟,则用户将在40分钟后会话超时。 - 设置Session超时时间需要根据...

    修改oracle初始化参数,包括Process,Session,SGA,PGA

    在调整过程中需要注意的是,每个参数的具体数值应根据实际的工作负载和系统资源情况来确定,以达到最佳的配置效果。此外,每次对参数做出重大更改后,都建议进行全面的压力测试,以确保系统能够在各种情况下正常运行...

Global site tag (gtag.js) - Google Analytics