2011-10-21 38 views
3

RailsとAjaxでちょっと新しいです。コントローラでかなり単純なAjaxリクエストをデバッグしようとしているときに、次の不満があります。Rails 3:ブラウザでjsonを表示しようとするとHTTP 406と空白のページが表示される

私は、次のコードを持っている:

respond_to do |format| 
    #format.html { render :json => db_clean_response.to_json } 
    format.json { render :json => db_clean_response.to_json } 
end 

私は手動でURLとパラメータを入力することによって、これをデバッグしようとすると、コントローラが正しく応答を準備し、私はformat.htmlコマンドのコメントを解除しない限り、RailsはHTTP/406 Not Acceptableで応答します。 (format.htmlものはちょうどこれを修正しようとしているためであることに注意してください。)

私はは、唯一のAJAXのものと同様に、この関数は、HTMLで応答したくない。さらに、Railsは空のhtmlにjsonprintされたjsonで応答し、JSONViewのようなプラグインを使用してそれをあらかじめ確認したいと思います。

ここでは何が起こっていますか?私は望みの結果がとてもシンプルだと思っていますが、何か、どこかでそれを台無しにしています。私がAJAXをデバッグしようとすると、私のブラウザーが不用意になることなく気をつかないようにしたいのですが:-(

+0

これをテストするときにURLに '?format = js'を使用していますか? – Thilo

+1

...または.jsonをURLに追加していますか? – Frost

+0

^^^^それは...好奇心の外です。 easy)format = jsonフラグなしで応答することは可能ですか? –

答えて

3

URLパラメータにformat=jsonを追加すると、私が望むことができます。Railsはすべてjsonヘッダー

関連する問題