Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 可以在Rails中禁用默认的catchall渲染吗?_Ruby On Rails - Fatal编程技术网

Ruby on rails 可以在Rails中禁用默认的catchall渲染吗?

Ruby on rails 可以在Rails中禁用默认的catchall渲染吗?,ruby-on-rails,Ruby On Rails,我一直在努力学习rails如何处理它的响应和渲染,因此我一直在问“正确”的问题 我想做的是,继续使用RESTful路由设置,但让控制器方法只响应我明确允许的格式。因此,在我的控制器中(通过方法),我希望只有当我有一个显式的response_要阻止时,才会提供响应 我不想更改我的路线(使用格式:false不是选项)。我想更改/影响ActionController的默认处理,以便只处理respond\u to块中的格式。我不确定是否得到它-这是默认行为?如果你请求js而控制器没有响应,你会得到一个4

我一直在努力学习rails如何处理它的响应和渲染,因此我一直在问“正确”的问题

我想做的是,继续使用RESTful路由设置,但让控制器方法只响应我明确允许的格式。因此,在我的控制器中(通过方法),我希望只有当我有一个显式的response_要阻止时,才会提供响应


我不想更改我的路线(使用
格式:false
不是选项)。我想更改/影响ActionController的默认处理,以便只处理
respond\u to
块中的格式。

我不确定是否得到它-这是默认行为?如果你请求js而控制器没有响应,你会得到一个406不可接受。一点也不。。。如果我请求users.xyz,它会将其路由到ActionController中的默认呈现程序,并提供一个html视图。“Rails根据客户端提交的HTTP Accept头确定所需的响应格式。”因此,
.xyz
实际上不是您请求的格式。我想我已经理解了。。。下面是3个不同请求(xml、html、css)的accept头,它们都是相同的:
accept:text/html、application/xhtml+xml、application/xml;q=0.9,图像/webp,*/*;q=0.8