この問題を解決するRails Apps
には、相互にアクセスできるようにするか、相互に ping を実行する必要があります。そのためには、CORSなどを使用して、他のドメインからの AJAX リクエストを許可する必要があります。メソッド アクセスの記事へのアクセスを許可するために使用した簡単な方法を次に示します。最初は混乱するかもしれません。
これを両側で実行するにFaye
は、質問に添付したFayeチャットサーバーRepoで提供されているものとは異なり、実際の完全なアプリも作成する必要があります.
実際の/メインアプリでは、これをあなたのapplication_controller.rb
before_filter :cors_preflight_check
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://YOURFAYEAPP.com'
headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
headers['Access-Control-Request-Method'] = 'http://YOURFAYEAPP.com'
headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Authorization'
end
# If this is a preflight OPTIONS request, then short-circuit the
# request, return only the necessary headers and return an empty
# text/plain.
def cors_preflight_check
if request.method == :options
headers['Access-Control-Allow-Origin'] = 'http://YOURFAYEAPP.com'
headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
headers['Access-Control-Request-Method'] = 'http://YOURFAYEAPP.com'
headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Authorization'
render :text => '', :content_type => 'text/plain'
end
end
このようにして、両方がリクエストを送受信できます。*
request の代わりに置かないでくださいparameter
。セキュリティ上の問題です。methods
と のみGet
を削減できますPost
。