2011-06-30 96 views
0

我試圖遠程的形式添加到我的Rails應用程序3與jQuery UJS,雖然形式似乎被正確發送其請求,服務器返回一個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 

對於它的價值,我使用HTML5 Boilerplate通過Google API加載jQuery庫,並且使用Modernizr讓包含Javascript在頁面底部而不是在<head>元素中。

有沒有人遇到過這樣的事情?我究竟做錯了什麼?

回答

4

該網址似乎是錯誤的。它應該是/update/1而不是/update.1

希望這會有所幫助。

+0

@trisignia:要確定這個答案是否正確,請檢查您的路由,並注意您是否使用此URL將format參數設置爲「1」。這種方式可能會迫使內容類型變成奇怪的值。 Hovewer,你的行爲爲什麼顯然承認params ['id']?你的路線是怎樣的? – Arsen7

+0

這確實是個問題。控制器自動實例化正確的帳戶(它似乎在更新它),所以我被愚弄了。當我修復表單的action屬性時,它的工作原理應該如此。謝謝。 – trisignia

相關問題