0

奇妙なことに、assets/javascripts ディレクトリの application.js ファイルではない *.js ファイルにある JavaScript を起動できません。たとえば、新しい Rails 3.2.1 アプリケーションを作成し、次を挿入するとします。

index.html.erb:

<%= link_to "click", "javascript:", :onclick => "call_function();" %> 

私の関数をjavascriptファイル「anyscript.js」に:

function call_function () {
  alert("hello2");
}

アラート機能は、javascript が application.js ファイルに配置され、他の場所には配置されていない場合にのみ機能するようです。私の application.js ファイルには require_tree があります。したがって、ディレクトリ内のすべてのスクリプトをロードする必要があります。ただし、関数が別のファイルにある場合は機能しません。

すべての JavaScript をアプリケーション ファイルに入れることもできますが、これは明らかに理想的ではありません。誰でもこの問題に遭遇しますか??

4

2 に答える 2

0

わかりました。anyscript.js ファイルが JS マニフェスト ファイル (別名 application.js) に含まれていますか?

于 2012-04-30T00:32:03.170 に答える
0

ディレクトリ内のスクリプトが正しくロードされていることと、require_tree コマンドが正しいことを確認してください。開発モードで、問題のスクリプトがロードされていることを確認します。そうであれば、リンクがクリックされたときに実行されます。そうでない唯一の理由は、それが範囲外または未定義である場合です。

于 2012-04-29T23:53:42.747 に答える