def call(env)
status, headers, response = @app.call(env)
if response.is_a? Array
puts response.inspect
else
puts response.class.to_s
end
[status, headers, response]
end
从development.log:Rails3中机架响应 - 未定义的方法response.body
第一请求:
Completed 200 OK in 95ms (Views: 35.9ms | ActiveRecord: 1.5ms)
ActionDispatch::Response
第二和其他请求:
Completed 200 OK in 77ms (Views: 76.3ms | ActiveRecord: 0.0ms)
[]
响应是: ActionDispatch::Response
第一次路由被调用, 对于任何其他请求的确切url,它是一个空的Array
在两种情况下页面呈现都成功,但当响应是空数组时,我不能使用response.body
。
这是正常的Rails行为?即使在开发环境中,这里是否有缓存?
你是对的,我想“电子标签”标题导致304状态。 – Mirko 2011-05-25 23:09:48
是的,这听起来是正确的。我认为大多数网站现在应该支持eTag标题,因为它节省了带宽,并允许更快的页面加载,如果该网站没有更早的访问。这就是说,对于小型网站来说它并没有什么区别,并且在开发模式中可能并不明显(因为您的页面请求的延迟几乎为零) – 2011-05-26 00:40:08