Rails アプリには、リクエストを受け取る API アプリと、リクエストを送信するクライアント アプリの 2 つがあります。
client-app からの GET リクエストの場合、次の行を API-app のアプリケーション コントローラーに追加しました。
headers['Access-Control-Allow-Origin'] = '*'
headers["Access-Control-Allow-Methods"] = 'GET, PUT, POST, DELETE'
headers['Access-Control-Request-Method'] = '*'
したがって、GET リクエストはうまく機能します。
ただし、POST、UPDATE、DELETE などの他のリクエストは機能しません。
クライアントアプリのフォームの隠し行にCSRFトークンを追加して、これをクライアントアプリのレイアウトに設定しようとしました:
$.ajaxSetup({
type: 'POST',
headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') },
dataType: 'json'
});
しかし、それは私を助けません。
PS: <%= csrf_token_tags %> はレイアウト上にあります。