最近发现 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, 遇到错误页面的时候,就会需要将整个数据由数据库提出来,然后显示在错误页面上。很可能导致错误页面迟迟出不来