Rails 不同 Rails 版本下 env 的不同

aquajach · 2012年05月25日 · 最后由 aquajach 回复于 2012年05月28日 · 2999 次阅读

最近发现 Rails 3.0 和 3.1 之后的版本在 env 构成上差别很大,可以在一个 Exception 页面里的"Show env dump" 里查看。

Rails 3.0.11 里 env 会包括所有 controller instance variables, 而 3.1+ 里的 env 会简洁很多。估计是 rack 版本差别导致的,不知有没有人留意这个?

恩?你说的 env 是啥?

#1 楼 @ywencn env 是在 rack 里用的 environment variables, 是个 Hash, 你随便制造一个错误 (Exception) 页面,点击页面中的 Show env dump 就能看到详情

很少看那玩意,lz 拿来做什么用啊? 写插件吗?

#3 楼 @clc3123 如果遇到数据量很大的页面,比如说是 index 里有个很大的 instance variable, 遇到错误页面的时候,就会需要将整个数据由数据库提出来,然后显示在错误页面上。很可能导致错误页面迟迟出不来

需要 登录 后方可回复, 如果你还没有账号请 注册新账号