ActiveAdmin使用POST而不是PATCH / DELETE

时间:2016-06-14 17:14:12

标签: ruby-on-rails activeadmin

我正在使用rails-api在Rails 4.2上使用ActiveAdmin(master)。我已经完成了所有正确的配置,以便AA正常工作。我可以使用索引页面,显示,使用编辑表单等。但是当需要采取破坏性操作时,出于某种原因,AA使用POST而不是正确的http动词。结果是404:

  

没有路线匹配[POST]“/ admin / admin_users / 1”

当我通过chrome控制台将请求复制为cURL时,将HTTP方法从POST修改为DELETE,一切正常并删除用户。那么为什么ActiveAdmin使用POST?

2 个答案:

答案 0 :(得分:0)

我需要将clickCurrent添加到我的中间件堆栈中(您可以通过运行Rack::MethodOverride确认它已丢失。)

像这样添加:

rake middleware

答案 1 :(得分:0)

我有同样的问题,使用activeadmin 1.0.0和Rails 5.0.2。表单具有正确的html,但控制器正在接收POST:

<input type="hidden" name="_method" value="patch">

我检查过,Rack::MethodOverride中间件到位了。

通过更正permit_params:https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters修复了我的问题。

我不明白它是如何影响POST / PATCH的,但确实如此。