我正在使用rails-api在Rails 4.2上使用ActiveAdmin(master)。我已经完成了所有正确的配置,以便AA正常工作。我可以使用索引页面,显示,使用编辑表单等。但是当需要采取破坏性操作时,出于某种原因,AA使用POST而不是正确的http动词。结果是404:
没有路线匹配[POST]“/ admin / admin_users / 1”
当我通过chrome控制台将请求复制为cURL时,将HTTP方法从POST修改为DELETE,一切正常并删除用户。那么为什么ActiveAdmin使用POST?
答案 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的,但确实如此。