クロス オリジン リソース シェアリングが原因で、XMLHTTPRequest がブロックされています。
詳細については、CORS に関するウィキペディアの記事を参照してください。
サーバー側で実装する方法については、enable-cors.orgを参照してください。
残念ながら、enable-cors.org には Ruby のバージョンがありません (私は現在、このためのプル リクエストに取り組んでいます)。当面は、ラック ベースのサーバーで次のようなものを使用できます。
class CORSController < ActionController::Base
before_filter :cors_preflight_check
after_filter :cors_set_access_control_headers
def cors_set_access_control_headers
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
headers['Access-Control-Max-Age'] = "1728000"
end
def cors_preflight_check
if request.method == "OPTIONS"
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
headers['Access-Control-Allow-Headers'] = 'X-Requested-With'
headers['Access-Control-Max-Age'] = '1728000'
render :text => '', :content_type => 'text/plain'
end
end
end
編集:
CORSController から継承するクラスは CORS リクエストを許可することを追加する必要があります。CORS をグローバルに使用する場合は、これを ApplicationController に追加する必要があります。
また、Access-Control-Allow-Originをワイルドカードに設定すると、セキュリティ上のリスクが生じる可能性があります。