我已经阅读了文档,每次都让我感到困惑,只是因为它没有回答一些基本的事情。我意识到类方法::respond_to
(通常在控制器顶部使用)的主要目的是与respond_with
. 而实例方法的目的#respond_to
(通常在每个动作的最后)是为不同的格式提供不同的响应。
我也知道可以将实例方法版本合并为看起来像类方法,但为了简洁起见,在动作内部使用,如下所示respond_to(:html)
:用例是 的另一个目的#respond_to
,即拒绝未指定格式的请求。(我认为它会引发 UnspecifiedFormat 异常)
类方法是否也具有相同的功能?例如,如果我有一个只响应 html 的控制器,如果我只是放在respond_to(:html)
文件的顶部,我可以期望它拒绝其他格式的请求吗?我在这样做时遇到了问题,所以我不知道我是否做错了什么,或者在这方面它是否不应该与实例方法一样工作。