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