Rails 3.2.8、Rack 1.4.1, RackCache 1.2にて動作確認。 コントローラで if request.head? render nothing: true, status: ok else # 重い処理 end のように、HEADリクエストでは余分な処理をしたくないこともあると思います。 上記のif文は、development環境では動くのですが、productionでは動きません。 デフォルトで利用されるRack::CacheのRack middlewareが、HEADを強引にGETに書き換えるため、head?が常時falseを返してしまいます。 issueとして解決済のようですが、3.2.8では反映されていないようなので、head?が動作するようにしてみました。 以下のように、config.ruに記載します。 Rack::Cacheより前に入れる必要があるほか