問題タブ [turbo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - ターボ フレームを使用した Rails アクティブ リンクのスタイリング
私は次のようにリンクを作成しました:
g.title
リンクをクリックした結果が別のフレームに表示される
場合、アクティブなリンク (アクティブな用語集) をスタイルするにはどうすればよいですか?
現在のパスが要求されたパスと等しい場合、ヘルパーを使用してリンクにクラスを提供しようとしましたが、機能していません。リンクする「アクティブな」クラスが指定されていません:
現在のパスがブラウザのアドレスバーに表示されないフレームで作業する場合、data-turbo-action" => "advance"
. そのブラウザでは、アドレスバーに現在のパスがありますが、リンクには「アクティブな」クラスがありません..
ruby-on-rails - Turbo Drive で Capybara の機能仕様が失敗する
Rails 6.1 アプリのいくつかのページに Turbo Drive を導入する実験を行っています。
Ḯ いくつかのレガシー JQuery プラグインの初期化を呼び出しから$(document).ready()
呼び出しに移動した後、期待どおりになりましたdocument.addEventListener('turbo:load', ..)
。
ただし、Capybara 機能仕様を実行しているときに、失敗した仕様のスクリーンショットから、JQuery プラグインが初期化されていないことがわかります。失敗するテストの典型的な例:
これが機能仕様で機能しない理由を理解するのを手伝ってくれる人はいますか? turbo:load
イベントがまったくトリガーされていないように見えます。
私が試したこと
ブラウザのログを確認する
ドライバーでのログ記録を有効にします。
Selenium::WebDriver::Remote::Capabilities.chrome( "goog:loggingPrefs": { browser: 'ALL' } ).
..しかしpage.driver.browser.manage.logs.get(:browser)
、失敗したexpect
呼び出しの直前に呼び出すと、空の配列が返されます。
おそらく私はそれを間違っていますか?
ページの読み込みが完了する前にカピバラがタイムアウトしないようにする
Capybara.default_max_wait_time = 10