Rails控制器请求处理与测试全解析
1. Cookie会话超时与清理
在Web应用中,基于Cookie的会话在用户关闭浏览器时会自动处理,但有时我们需要设置会话超时,限制Cookie的有效期。可以在 Rails官方Wiki 上找到相关讨论和可用插件,不过部分信息可能已过时。
若要显式清除当前会话的会话数据,可在动作中调用 reset_session 方法。例如,在应用的“退出登录”或“清除历史记录”链接中会用到此方法,也可用于自定义过期逻辑。示例代码如下:
# 存储Cookie时间
session[:updated_at] = Time.now
# 检查是否过期
if Time.now - session[:updated_at] > 3600 # 假设超时时间为1小时
reset_session
end
2. 过滤器(Filters)
过滤器是一种方便的方式,可在动作处理前后执行代码。主要的过滤器有 before_filter 、 after_filter 和 around_filter 。
- 过滤器的应用范围 :当在控制器中定义过滤器时,其效果会应用于当前控制器及其子类
Rails控制器请求与测试详解
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



