2013-10-12 29 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