私のアプリはRails 5.1を使用し、link_to
をremote: true
とクリックすると、InvalidCrossOriginRequest
というエラーが発生します。偽造防止をオフにした後、アプリケーションはサーバに完全なGET
リクエストを作成し、javascriptを表示します。ここでRails `remote:true` AJAXリクエストを作成しない
はリンクです:
= link_to 'Example', example_url, remote: true
example.js.erb:
$('.example').html('alert("example message")');
ルート:
scope :js, defaults: { format: :js } do
#### Example
get 'example', to: 'examples#example'
end
コントローラ:
def example
respond_to do |format|
format.html { redirect_to root_url, alert: 'Page not accessible' }
format.js
end
end
私は、テンプレート内のJavaScript含ま:
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
をそして私はJS必要な資産のパスを追加しました:
//= require_self
// jQuery
//= require jquery
//= require jquery_ujs
*アプリは、サーバーへの完全GET要求を行うこととJavaScriptを表示して終了*あなたは何を期待していません。それは何ですか? – Pavan
@PavanそれはAJAXリクエストを代わりに行うべきです。 - > 'remote:true' – jonhue
あなたはそれが* javascript *を表示していると言いました。それは* AJAXリクエスト*をしているということではありませんか? – Pavan