Rails アプリケーションに CORS を実装したかったので、rack-cors gem で検索しました。そして、READMEに書かれているようにすべてを行いました.Gemfileがそれに応じて更新されapplication.rb
、次のように更新されました:
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
しかし、うまくいきませんでした。私が何をしたとしても、ブラウザのコンソールに次のメッセージが表示され続けました。
XMLHttpRequest cannot load https://somewebsite.com. Origin http://0.0.0.0:3000 is not allowed by Access-Control-Allow-Origin.
このブログ投稿とgithub の問題を読んだ後、ミドルウェア スタック内の Rack-cors ミドルウェアの位置が重要であることに気付きました。だから私はgithubの問題で言われたようにしました:
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
その後、rake middleware
rack-cors を実行すると、実際にスタックの一番上にあります。
しかし、それでもうまくいきません。同じエラーが発生し続けます。誰でも、助けてください。