繁体   English   中英

错误:仅允许获取请求

[英]error :Only get requests are allowed

我得到这个例外

ActionController :: MethodNotAllowed:仅允许get请求。

请任何人为此提供解决方案

此错误表示您正试图将其发布/放置/删除到仅接受GET请求的路径。 您需要确认您的路线以及所使用的路径和/或表单方法是否匹配。

当您定义了标准路由并且客户端尝试使用不同于GET或POST的HTTP方法连接到该路由时,会发生此错误。

通常,这是由使用Microsoft Office Protocol Discovery的客户端引起的。 这些客户端发送一个OPTION请求 ,Rails不支持该请求

您可以通过多种方式解决问题:

  1. 忽略生产环境中的错误
  2. 在控制器中使用before_filter和head 406防止错误
  3. 使用控制器中的rescue_from来挽救错误
  4. 防止错误通过机架中间件过滤请求
  5. 防止使用您的网络服务器阻止非GET / POST / HEAD请求的错误

我个人更喜欢最后一个选项,但是它要求您在服务器上具有管理特权。 否则,“机架中间件”选项是过滤意外请求的最有效方法。

您如何尝试进入此页面? 看来您正在尝试进行其他类型的RESTful调用(放置,发布,删除)和该方法。 删除该控制器的代码对诊断问题确实很有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM