Метод PUT не разрешен Access-Control-Allow-Methods

Я получил ошибку в браузере при использовании ajax для редактирования сообщений. XMLHttpRequest не может загрузить http://example.com/posts/100. Метод PUT не разрешен Access-Control-Allow-Methods.

На рельсовом сервере:

  Started OPTIONS "/posts/100" for 127.0.0.1 at 2014-11-14 11:51:39 -0800
  Processing by ApplicationController#handle_options_request as */*
  Parameters: {"path"=>"posts/100"}

Я прошел через несколько решений и сделал что-то вроде этого в rotues.rb:

   match '*path', :controller => 'application', :action => 'handle_options_request', :constraints => {:method => 'OPTIONS'}

в application_controller.rb

  def handle_options_request
    headers['Access-Control-Allow-Origin'] = request.env['HTTP_ORIGIN']
    headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
    headers['Access-Control-Max-Age'] = '1000'
    headers['Access-Control-Allow-Headers'] = '*,x-requested-with'
    head(:ok) if request.request_method == "OPTIONS"
  end

У любого есть решение, чтобы обойти это. Также попробуйте рэковые коры, но это не работает


person user3799103    schedule 14.11.2014    source источник


Ответы (1)


Попробуйте изменить эту строку на (добавить PUT):

headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS, PUT'
person Alexandru R    schedule 28.01.2015