ActiveAdmin принимает неправильный метод http для действий по обновлению и уничтожению

#ruby-on-rails #activeadmin

Вопрос:

 Rails version - 5.2
Active admin version - 2.9.0
 

Я установил и настроил active admin в своем приложении rails API. Все работает нормально, за исключением обновления, удаления действий любого контроллера и выхода пользователя-администратора.

Вот мой файл applicaiton.rb

введите описание изображения здесь

Я добавил переопределение метода в файл application.rb, хотя он использует метод запроса POST для любого запроса на обновление или удаление. Он отлично работает в моем локальном, даже несмотря на то, что он принимает запрос POST, но когда я развернул код в промежуточной среде. Я нашел эту вещь. В моей промежуточной среде этот маршрут отсутствует, поэтому он выдает ошибку 404.

Ниже приведен скриншот запроса администратора обновления.

введите описание изображения здесь

Может кто-нибудь, пожалуйста, помочь мне решить эту проблему?

Ответ №1:

Я наконец — то исправил эту проблему. Я предполагаю, что проблема может быть связана с моей конфигурацией промежуточного веб-сервера, в противном случае она нормально работала в моей локальной среде как в локальной, так и в промежуточной среде.

Опубликуйте ответ здесь, чтобы он мог помочь людям в будущем.

По умолчанию браузер поддерживает только запросы GET и POST. Если мы хотим использовать какие-либо другие методы запроса, нам нужно передать этот метод запроса в параметре _method . Вы можете прочитать больше об этом здесь.

В моем случае этого не произошло, хотя я добавил config.middleware.use Rack::MethodOverride в application.rb.

Для решения этой проблемы я добавил use Rack::MethodOverride в свой config.ru файл. Это означает, что перед запуском приложения rails он будет использовать этот метод. Я добавил этот код, и теперь все работает нормально.