2012-02-09 9 views
0

私はWebApp(mongrelでの開発とnginxによる制作)にRailsを使用しています。 私はJSONデータを送信します。Rails 3 + JSON + Content Lengthは送信されません

respond_to do |format| 
    format.json { render :json => { :success => "OK", :items => items } } 
end 

それは動作します。しかし、私はContent-Lengthを持つ必要があり、送信されません。 JSONを取得するときにヘッダーにContent-Lengthを強制的に送信する方法Is-it Railsの設定上の問題、またはサーバの設定に問題がありますか?

これをRailsに設定する方法はありますか?同様に:

応答[ 'のContent-Length'] = XXX

は、それは良いアイデアですか?私の場合は、JSONデータ(300 Kb)の大きな配列を送信します。

答えて

2

どのレールバージョン(正確に)ですか?

試行http://dev.mensfeld.pl/2011/09/rails-3-1-sending-content-length-header-using-middleware-rack-content-length/ これは、C.L.を設定するミドルウェアを追加します。自動的に。どうやらそれが原因で、それは便利ではありません応答をストリーミングするため、自動的にすべての時間を行っていない - あなたはそれを手動で設定することができますが、その便利なミドルウェアがありますので、...

:)はまたhttp://weblog.rubyonrails.org/2011/4/18/why-http-streamingを参照してください

確かに。

+0

Railsのバージョンは3.0.5です。 config.middleware.use Rack :: ContentLengthの前に言ったことを試しましたが、これは何もしませんでした... –

+0

これは実際のHTTPレスポンス '{ " Cache-Control "=" max-age = 0、プライベート、 "; 接続=閉じる; "Content-Type" = "application/json; charset = utf-8"; 日付= "木、2012年2月9日11:17:27 GMT"; Etag = "\" fce7ad73ac9a5f1be5fd9e508ff80932 \ ""; "Transfer-Encoding" =アイデンティティ。 "X-Authenticity-Token" = "oD6rOpEN3Wrw4soWuyJiav8h6o + rWFPoIMW4tIStNHA ="; "X-Runtime" = "1.537700"; "X-UA-Compatible" = "IE = Edge"; } ' –

+0

Hum ...私のローカル設定でもApacheとmongrelに問題があります... –

関連する問題