2011-06-30 11 views
0

私はjQuery UJSと私のRailsに3アプリをリモートフォームを追加しようとしている、とフォームが正しくその要求を送信するように見えるが、サーバーは406「受け入れられない」エラーを返します。Rails 406「リモートフォームでは許容されない」エラー?

Started POST "/account.1" for 127.0.0.1 at 2011-06-30 07:14:27 +0200 
Processing by AccountsController#update as 
... 
Completed 406 Not Acceptable in 295ms 

のjQueryを-UJSは正しいHTTP_ACCEPTヘッダー送信されるように表示されます。

text/javascript, application/javascript, application/ecmascript, 
application/x-ecmascript, */*; q=0.01 

を、私はこれをデバッグしようとするために必要最小限にaccounts#updateアクションを剥奪しましたが、何も働いていたんだ:

class AccountsController < ApplicationController 

    respond_to :html, :js 

    def update 
    @account = Account.find(params[:id]) 

    respond_with(@account) do |format| 
     format.html 
     format.js 
    end 
    end 

end 

Google APIを使用してjQueryライブラリを読み込むためにHTML5 Boilerplateを使用していますが、Modernizrを使用して<head>要素の代わりにページの下部にJavascriptを挿入しています。

誰もこれに遭遇しましたか?私は間違って何をしていますか?

答えて

4

URLが間違っているようです。 /update.1の代わりに/update/1にする必要があります。

希望します。

+0

@trisignia:この回答が正しいかどうかを確認するには、ルーティングを確認し、このURLでa:formatパラメータを "1"に設定しているかどうかを確認します。おそらくあなたはコンテンツタイプを奇妙な値にしてしまったでしょう。 Hovewer、なぜあなたの行動は明らかにparams ['id']を認識しますか?あなたのルートはどのように見えますか? – Arsen7

+0

これは本当に問題でした。コントローラーが自動的に正しいアカウントをインスタンス化していたので、私はだまされました。フォームのアクション属性を修正したら、それはうまくいった。ありがとう。 – trisignia

関連する問題