Turbolinks gemを使用しているRuby on Rails 4アプリケーションを開発しています。私は、リンクがクリックされたときに、レイアウトがまだサーバ側にレンダリングされていることに気付きましたが、Turbolinks JavaScriptはこのレンダリングされたコンテンツから身体を取り戻すだけです。私の質問はコントローラ側で、ターボリンク経由でリクエストが行われたかどうかを判断することが可能です。基本的にTurbolinks経由でリクエストが行われた場合、必要のないコードを実行しないようにレイアウトをfalseに設定したいと思います。それはTurbolinksに来るときしかし、何もしていないようです、私はjQueryの経由AJAX要求を行う場合RailsコントローラTurbolinksリクエストを確認する
# Don't use layout when AJAX request
layout proc { |controller| controller.request.xhr? ? false: "application" }
このコードは、ヘッダーのレンダリングからAJAX要求を防ぐ:私のApplicationControllerに、私はすでに、次のコードを持っています。
レイアウトなしでレンダリングすると、Turbolinksプロセスが中断されませんか?ターボリンクは「現在のページインスタンスを生かして、本文とタイトルだけを頭に入れます」と言います(引用)。つまり、ターボリンクは送信されるページレイアウト全体に依存しているようです。 – zwippie