Ich wollte CORS in meiner Schienen-Anwendung zu implementieren, so googelte ich rack-cors Juwel für sie. Und ich tat alles, wie in README gesagt wurde, dass aktualisiert Gemfile entsprechend und application.rb
wie folgt aktualisiert:
Kann nicht Rack-Cors arbeiten in Schienen Anwendung
module YourApp
class Application < Rails::Application
# ...
config.middleware.use Rack::Cors do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :options]
end
end
end
end
Aber es hat nicht funktioniert. Egal, was ich tat, in der Browserkonsole ich immer Nachricht gehalten:
XMLHttpRequest cannot load https://somewebsite.com. Origin http://0.0.0.0:3000 is not allowed by Access-Control-Allow-Origin.
Nach diesen blogpost und issue auf Github zu lesen, erkannte ich, dass vielleicht Position der Rack-cors Middleware in den Middleware-Stack Angelegenheiten. Also tat ich, wie in der Github Frage gesagt wurde:
module YourApp
class Application < Rails::Application
# ...
config.middleware.insert 0, Rack::Cors do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :options]
end
end
end
end
Danach, wenn ich rake middleware
Rack-cors laufen ist wirklich an der Spitze des Stapels.
Aber es wird immer noch einfach nicht funktionieren. Ich bekomme immer den gleichen Fehler. Jeder, bitte helfen Sie.
ich es offensichtlich wissen, aber haben Sie sicherstellen, dass die Schienen-Server neu zu starten? Da dies Teil der Initialisierung ist, wird es erst nach einem Neustart wirksam. – clexmond
Ja, ich habe den Server viele Male neu gestartet. – Prostakov
Das Problem ist, dass es nichts Übernatürliches ist, nur um dieses Juwel zum Laufen zu bringen. Nur mich verrückt zu fahren ... – Prostakov