Heroku でホストする Rails Restful サービスと、ローカル マシンから実行しようとしている Angular クライアントを構築しました。最終的に、このクライアントは phonegap プロジェクトに追加されて実行されます。ただし、今のところ、アプリケーションを chrome でテストしており、ブラウザが以下のエラーを返し続けています。
XMLHttpRequest cannot load Origin http://localhost is not allowed by Access-Control-Allow-Origin.
これは私が得るエラーメッセージです。Heroku にプッシュする前にこの問題に直面し、応答にアクセス ヘッダーを追加することで解決しました。
after_filter :cors_set_access_control_headers
# For all responses in this controller, return the CORS access control headers.
def cors_set_access_control_headers
headers['Access-Control-Allow-Origin'] = 'http://localhost' #*
headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
headers['Access-Control-Allow-Headers'] = %w{Origin Accept Content-Type X-Requested-With X-CSRF-Token}.join(',')
headers['Access-Control-Max-Age'] = "1728000"
end
これはうまくいかないようです。何らかの理由で、これは Heroku では機能しません。この問題を解決する方法を知っている人はいますか?