0

私の Rails アプリでは、assets/javascripts の javascript ファイルで、最初の行は console.log("This javascript file is included"). My application.html では、head の直後にこれを含めます。

<script type = "text/javascript">
console.log("Logging from the application.html")
</script>

どのビューにも javascript ファイルを明示的に含めていませんが、コンソールには次のように表示されます。

This javascript file is included.
Logging from the application.html
4

3 に答える 3

1

application.js はおそらく次のようになります。

//= require_tree .

「require_tree ディレクティブは、指定されたディレクトリ内のすべての JavaScript ファイルを出力に再帰的に含めるように Sprockets に指示します。これらのパスは、マニフェスト ファイルに対して相対的に指定する必要があります。指定されたディレクトリ内のすべての JavaScript ファイルのみを含む require_directory ディレクティブを使用することもできます。再帰。"

http://guides.rubyonrails.org/asset_pipeline.html

于 2012-05-23T18:00:18.393 に答える
0

<% javascript_include_tag :all %>ビューまたはレイアウトのいずれかに含まれているように聞こえます。これにより、すべてのファイルpublic/javascriptsが含まれます。ドキュメントはこちらです。

問題のファイルが に追加されている可能性もありますconfig.action_view.javascript_expansions[:defaults]。これにより、どこかconfig/application.rbにある場合に読み込まれます。<% javascript_include_tag :defaults %>

于 2012-05-23T17:58:22.653 に答える
0

あなたの layout/application.html.erb はあなたのビューのベースです (yield 命令を参照してください)。任意のビュー (任意の controller#method 呼び出し) で、Rails はこの現在のビュー ファイルのレイアウトを生成します。明らかに、js"Logging from the application.html"はすべての更新ページで実行されます (AJAX ではありません)。

外部 JS の組み込みについては、以前の投稿を参照してください。ページ固有の js を読みたい場合Rails 3 アプリでページ固有の JavaScript を追加する最良の方法は?

于 2012-05-23T18:02:05.943 に答える