2013-10-12 38 views
0

我有一堆控制器在我的rails應用程序返回:html格式。當我嘗試使用.js擴展名訪問網址時,它將返回「完成406不可接受」。不正確的行爲是否應該返回404?Rails控制器respond_to返回404

感謝

+2

沒有。控制器不響應javascript請求,所以請求是不可接受的。 – sevenseacat

+0

如果我決定不在我的控制器中使用respond_to塊,並使用.js擴展名訪問url,它將返回不帶佈局tempate的html視圖。 –

+0

406正確地返回爲什麼沒有匹配的格式。 –

回答

1

你會得到一個錯誤404如果你的控制器的作用是能夠向JS請求作出響應,但action.js.erb並不存在。由於您的控制器僅允許對HTML的響應,因此406 Not Acceptable錯誤將是預期的行爲。

0

如果你想處理JS請求,你必須有這樣的事情:

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

這將加載相應的.js.erb或.html.erb文件時動作被調用。更多信息請見Rails API