#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 он будет использовать этот метод. Я добавил этот код, и теперь все работает нормально.