2016-02-03 4 views
24

Serverprobleme mit einer App in Rails 5.0.0.beta2, die versucht, ActionCable zu verwenden.Ursprungsanforderung nicht zulässig: http: // localhost: 3001 bei Verwendung von Rails5 und ActionCable

Verwenden Sie localhost: 3000 funktioniert gut, wie das ist, was die meisten ActionCable standardmäßig verwendet. Aber wenn ich versuche, den Schienen-Server auf Port 3001 laufen, es gibt mir Request origin not allowed: http://localhost:3001

Die ActionCable docs so etwas wie ActionCable.server.config.allowed_request_origins = ['http://localhost:3001'] erwähnen verwendet, die für mich arbeiten, wenn ich es in config.ru

Aber das scheint wie ein wirklich komischer Ort, um es zu sagen. Ich habe das Gefühl, dass es in der Lage sein sollte, in eine Initialisierungsdatei oder meine Konfigurationsdatei für die development.rb Umgebung zu gehen.

weiter zu meinem Punkt zu beweisen, dass es sollte in dorthin zu gehen, erlaubt werden, die Einstellung ActionCable.server.config.disable_request_forgery_protection = true Anfrage Herkunft ignorieren funktioniert, auch wenn ich es in development.rb enthalten.

Warum würde ActionCable.server.config.disable_request_forgery_protection arbeiten in development.rb, aber ActionCable.server.config.allowed_request_origins nicht (funktioniert aber in config.ru)?

Kein dringendes Problem, da ich mehrere Optionen als eine Arbeit habe. Ich möchte nur wissen, ob mir etwas offensichtlich fehlt, wie ich mir das vorstellen kann.

Antwort

39

können Sie Rails.application.config.action_cable.allowed_request_origins = ['http://localhost:3001'] in Ihrem development.rb setzen

https://github.com/rails/rails/tree/master/actioncable#allowed-request-origins

+0

Dank Informationen für mehr sehen. Sie haben das anscheinend 4 Tage nach meiner Frage aktualisiert :-P Aber ich hätte es nicht gesehen, hättest du hier nicht geantwortet! – daybreaker

+3

dasselbe Problem behoben mit Rails 5 RC1 für mich, danke! –