今天写程序碰到一个问题,before_filter中的函数总是没有执行,贴出来我的代码:
ruby 代码
- before_filter :dont_lock_self, :only=>:lock
- before_filter :dont_unlock_self, :only=>:unlock
- before_filter :dont_destroy_self, :only=>:destro
-
- protected
- def operate_to_self?(user_id)
- if session[:user_id] == user_id
- return true
- end
- return false
- end
-
- def dont_lock_self
- frag = operate_to_self?(params[:id])
- if frag == true
- flash[:notice] = "You Can not lock Yourself"
- redirect_to :action=>:list
- end
- end
-
- def dont_unlock_self
- frag = operate_to_self?(params[:id])
- if frag == true
- flash[:notice] = "You Can not unlock Yourself"
- redirect_to :action=>:list
- end
- end
-
- def dont_destroy_self
- frag = operate_to_self?(params[:id])
- if frag == true
- flash[:notice] = "You can't destroy Yourself"
- redirect_to :action=>:list
- end
- en
实验了半天(不会调试ror程序。。汗),发现operate_to_self?返回的总是false,一步步跟踪,发现问题出在这里
ruby 代码
- if session[:user_id] == user_id
通过logger打印出来来看两个值相同,但是比较的结果却是不相同,猜想是两者的类型不同,加上 .to_i 参数,再进行比较,问题终于消失。
ruby 代码
- if session[:user_id].to_i == user_id.to_i
分享到:
相关推荐
在Web开发中,Session和Cookie是两种常见的会话管理机制。Cookie主要负责在客户端和服务器之间传递信息,而Session则是服务器端存储用户状态的一种手段。本文重点讨论的是Cookie中的两个重要属性:`secure`和`...
"JAVA的SESSION精准统计"这个主题旨在探讨如何在Java应用程序中实现对Session的准确且无误的计数,确保数据的正确性,避免出现如Session计数值为负数这样的异常情况。 首先,我们需要理解Session计数的基本原理。...
在本文中,我们将深入探讨Tomcat服务器中实现Session的相关知识,这包括Session的基本概念、目的、实现机制以及通过示例进行的详细解析。 **什么是Session?** Session是Web开发中用来跟踪用户状态的一种机制。...
本主题将深入探讨如何进行session初始化、实现网站流量统计以及监控在线人数,这些都是Web应用开发中的重要环节。 首先,让我们了解什么是Session。在Servlet环境中,每当用户打开一个新的会话(比如首次访问网页)...
在页面B的后台代码中,可以获取Session中的数值,进行加法运算,并将结果显示在页面上。这种方法可以确保即使用户在计算过程中导航到其他页面,之前的计算信息也不会丢失。 实现这样的功能,开发者可能使用了以下...
在Web开发中,为了维持用户的会话状态,通常有两种常用的技术:Cookie与Session。这两种技术各有特点,适用于不同的场景。 - **Cookie**: - **定义**:Cookie是一种存储在用户本地浏览器上的小型文本文件,主要...
Session 变量可以保存文本或数值信息,并且可以在整个会话期内保持有效。Session 变量可以使用 PHP 函数 session_register() 注册,并可以在随后的页面中使用。 PHP 的 Session 处理机制使用 Session ID 来标识每个...
同时,将`session.cookie_lifetime`设置为一个较大的数值,如999999999秒,表示在客户端的session ID有效期很长。不过,这并不意味着数据在服务器端也会永久保留,因为`session.gc_maxlifetime`依然会影响服务器上的...
`request`, `session` 通常指的是 HTTP 请求对象和会话对象,在 FreeMarker 中可以用来访问请求参数、会话数据等。 以上是 FreeMarker 中的一些基础操作,实际上,它还支持更复杂的逻辑控制、迭代、条件判断等功能...
3. **版本控制**:与版本控制系统(如Git)集成,SessionManager可以记录每次会话的变更,便于回溯和比较不同版本。 4. **错误恢复**:如果在会话中出现错误,SessionManager可以帮助用户回到之前的稳定状态,避免...
在ASP.NET开发中,Application、Session和Cookie对象是三个重要的概念,它们主要用于在用户交互过程中管理数据和状态。本章将详细讲解这三个对象的功能、使用方法以及它们在Web应用程序中的作用。 一、Application...
1. **基于 Cookie 的 Session 实现**:在这种情况下,服务器将 Session ID 作为 Cookie 的内容存储在浏览器的临时 Cookie 中。每当客户端发起请求时,Session ID 都会以 Cookie 形式发送给服务器。 2. **URL 重写...
在ASP.NET开发中,Application、Session和Cookie对象是三个至关重要的概念,它们分别用于不同的数据存储和传递场景。下面我们将详细分析这三个对象的功能、用法以及它们在网站应用程序中的作用。 1. **Application...
它主要用于那些即使在页面生命周期中改变也不能丢失信息的控件,例如,一个计数器控件的当前计数值。控件状态不能在页面级别禁用,而是在控件级别控制。 隐藏的窗体字段是另一种基于客户端的存储方式,它们在HTML中...
如果尝试设置更大的数值,例如1441分钟,服务器在处理时会触发一个“运行时错误”,具体的错误信息如描述中所示:“ASP 0164 : 80004005 - 超时值无效”。 错误信息“指定的超时值无效”表明你试图设置的Session...
在TensorFlow库中,Session是执行计算图的关键组件,它负责将定义的计算图转换为实际的数值操作。本文将详细解析两种常见的TensorFlow Session使用方法,并通过一个矩阵乘法的例子来具体阐述。 首先,我们需要了解...
- 当你在IIS管理界面、web.config以及代码中都设置了Session超时时间时,以数值最小的设置为准。例如,web.config中设置为60分钟,代码中设置为40分钟,则用户将在40分钟后会话超时。 - 设置Session超时时间需要根据...
在调整过程中需要注意的是,每个参数的具体数值应根据实际的工作负载和系统资源情况来确定,以达到最佳的配置效果。此外,每次对参数做出重大更改后,都建议进行全面的压力测试,以确保系统能够在各种情况下正常运行...