2011-09-26 61 views
3

我發送一個Ajax請求我的控制器#行動之一,但我的開發日誌顯示軌由控制器(如#show */*)action_controller處理

Processing by FormsController#show as */* 

,而這本來應該是FormsController#顯示爲JS作爲一個Ajax請求

由於這個它的渲染,它首先找到我響應控制器

例如阻止格式: -

respond_to do |format| 
    format.html{ } 
    format.js { } 
end 

如果我發送ajax請求到我的控制器,它不會像預期的那樣工作,因爲我的控制器在處理JS請求時呈現html響應。

但如果respond_to代碼塊是這樣

respond_to do |format| 
    format.js { } 
    format.html{ } 
end 

它正常工作。

我覺得

Processing by FormsController#show as */* 

正在應對其不斷格式化首先找到在respond_to代碼塊。

但我關心的是,爲什麼我的發展日誌顯示了當我發出一個Ajax請求,而不是

Processing by FormsController#show as JS 

Processing by FormsController#show as */* 

。我做錯了什麼或錯過了一個小而重要的作品?

回答

2

更新您的Rails.js文件。

我假設你正在使用jQuery-Rails。前段時間,Rails AJAX請求沒有自動設置請求的內容類型。這已經被解決,所以如果你更新你不應該有*/*作爲HTTP頭中最高優先級的內容類型。