ActiveAdmin 采用错误的 http 方法进行更新和销毁操作

ActiveAdmin taking wrong http method for update and destroy actions

Rails version - 5.2
Active admin version - 2.9.0

我已经在我的 rails API 应用程序中安装并配置了活动管理员。一切正常,除了任何控制器的更新、删除操作和管理员用户的注销。

这是我的 applicaiton.rb 文件

我在 application.rb 文件中添加了方法覆盖,尽管它对任何更新或删除请求采用 POST 请求方法。它在我的本地工作正常,即使它正在接受 POST 请求,但是当我在暂存环境中部署代码时。我找到了这个东西。在我的暂存环境中,该路由不存在,因此出现 404 错误。

下面是更新管理员用户请求的屏幕截图。

有人可以帮我解决这个问题吗?

我终于解决了这个问题。我假设问题可能出在我的暂存 Web 服务器配置上,否则它在本地环境和暂存环境中都可以正常工作。

Post 这里的答案可能对以后的人有帮助。

浏览器默认只支持 GET 和 POST 请求。如果我们想使用任何其他请求方法,那么我们需要在参数 _method 中传递该请求方法。您可以阅读更多相关信息 here

尽管我在 application.rb 中添加了 config.middleware.use Rack::MethodOverride,但我的情况并没有发生这种情况。

为了解决这个问题,我在 config.ru 文件中添加了 use Rack::MethodOverride。这意味着在 运行 之前 rails 应用程序将使用此方法。我已经添加了这段代码,现在一切正常。