2016-09-13 4 views
1

Ich benutze Grape on Rails. Obwohl ich CORS dafür nicht einstellen kann.Aktivieren Sie CORS in Trauben auf Schienen

Der Rack-Cors-Edelstein erklärt, wie man ihn in application.rb für "Rails" einstellt. Obwohl es nicht zeigt, wie es für Grape on Rails aktiviert wird.

Irgendwelche Gedanken?

Antwort

1

Einrichten Rack CORS

ein paar einfachen Schritten Einwickeln und wir werden Sei bereit zu gehen!

Fügen Sie den folgenden Code zu Ihrem Gemfile und bündeln installieren:

gem 'rack-cors', :require => 'rack/cors'. 

Fügen Sie Ihre API-Modul config/application.rb und konfigurieren Sie Ihre Rack CORS Middleware:

module MyAppRails 
    class Application < Rails::Application 
    config.middleware.use Rack::Cors do 
     allow do 
     origins "*" 
     resource "*", headers: :any, methods: [:get, :post, :put, :delete, :options] 
     end 
    end 
    config.active_record.raise_in_transactional_callbacks = true 
    end 

Mit origins "*", wir Geben Sie an, dass unsere API HTTP-Anfragen von einer beliebigen Domain im gesamten Internet akzeptiert.

Mit resource "*" geben wir an, dass eine ursprungsübergreifende Anfrage auf alle unsere Ressourcen zugreifen kann (obwohl wir derzeit nur eine haben - die Ressource für Absolventen).

Wir geben dann an, dass eine Cross-Origin-Anfrage mit einer beliebigen HTTP-Methode akzeptiert wird. Wenn Sie sich jedoch erinnern, haben wir unsere Graduates-Klasse innerhalb unseres API-Moduls definiert, um nur Anfragen für alle Absolventen oder nur einen Absolventen zu beantworten. Wir können die anderen HTTP-Methoden später hinzufügen.