0

Rails 4.0.0 と Ruby 2.0.0 を使用して、Rails 3.2.13 アプリケーションの新しいバージョンを作成しています。Michael Hartl のRuby On Rails Tutorialの最新バージョンをガイドとして使用しています。Turbolinks など、使用されている宝石のいくつかについてはよく知りません。

ビューと application.html.erb に JavaScript を含む Web サイトがいくつかあります。ビューが最初に表示されたときにスクリプトが機能する場合があります。それ以外の場合は、スクリプトが実行されずにページが表示されます。これが発生すると、ページを更新すると、すべてのスクリプトが機能します。これは、「新しい」Twitter ウィジェットおよび Weather Channel のウィジェットでも時々発生します。

これが私がapplication.html.erbに持っているものです:

<%= stylesheet_link_tag    "application", media: "all",
                                            "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

ビューの他のコードは変更していません。Rails 3 バージョンを実行すると、ビューが最初に表示されたときにスクリプトが実行されます。ただし、Rails 4 バージョンを実行すると、スクリプトを実行する前にほとんどのページを更新する必要があります。

どんな助けでも大歓迎です。

4

1 に答える 1

0

これに対する回答をウェブで探していましたが、この質問を投稿する直前にもう一度確認することにしました。Turbolinks と JavaScript を使用すると競合が発生する場合があるという内容の投稿をようやく見つけました。提案された解決策は、application.js でターボリンクを必要としないことでした。

//= require turbolinks

そのステートメントを application.js から削除すると、スクリプトはアプリケーションの Rails 3 バージョンと同じように機能しました。

于 2013-08-28T22:01:17.917 に答える