0

標準のアセット パイプラインを備えた Rails 3.2 アプリケーションがあります。つまり、コントローラーには、個別の CoffeeScript ファイルで定義された独自の Javascript があります。

今日、開発モード (すべての JS ファイルがすべてのページに個別に読み込まれる場合) では、特定の時点で動作が停止することに気付きました。これは、その上のファイルのどこかに謎のエラーがあるためだと思います。コンソールには、そのページで要素が見つからないことに関連する 2 つのエラーが表示されます (これらは別のコントローラーからのものであるため、当然のことです)。

しかし、実稼働アプリケーションを調べたところ、同じことが起こっています。私はホームページのページコントローラーにいて、小型化された JS ファイルを見て、完全に別のコントローラーへの参照を見つけました。そのページに要素が見つからないという同じエラーもありました。繰り返しますが、その時点以降の JS はすべて失敗し、機能していません。

RailsはそのコントローラーJSのみをコンパイルしたと思いましたか?そうでない場合、特定のJSが特定のページにのみ表示されるようにするにはどうすればよいですか?

助けてくれてありがとう!

4

1 に答える 1

0

関数をifステートメントの後ろに置くことができます。そうすれば、特定の要素がページ上にある場合にのみ関数が起動します。

if $("#element-id")
  namedFunction = ->
    etc....
于 2013-02-15T16:24:31.043 に答える