1

Railsアプリでjs/jqueryを実行する際に問題が発生しました。Ruby1.9.3とRails3.2.3をインストールしています。

/ app / asset/javascriptsに2つのjsファイルがあります。

application.js
main.js

このmain.jsを作成しました。その中にこのコードがあります

$(document).ready(function() {
    alert('Hello world!');
});

私のapplication.jsには次のものがあります。

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require main.js

アプリを開いても、アラートメッセージは表示されません。

ソースコードを開くと、すべてのjsファイルが配置されているのがわかります。

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/main.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

私が間違っているのは何ですか?

4

4 に答える 4

1
//= require_tree .

application.jsファイルの最後の行である必要があります

$(document).ready(function() {
    alert('Hello world!');
})

最後のセミコロンも必要ありません

于 2012-05-09T14:38:43.413 に答える
0

さて、私は間違いを犯しました。抽象化の目的で、jsファイルの名前について誤った情報を提供しました。私の元の名前はadvert.jsでしたが、何らかの理由でjsとして実行されません。このプロジェクトでadvert.cssを使用したことを思い出しました。また、ロードされていても、railsによってcssとして認識されませんでした。そのadvert.cssの名前をpopup.cssに変更しましたが、機能したので、advert.jsで機能するようになりました。名前をpopup.jsに変更すると、機能します。

于 2012-05-10T15:15:22.863 に答える
0

投稿によると、 jQuery.jsjquery_ujs.jsはアセットフォルダーにありません

于 2012-05-09T15:06:47.877 に答える
0

main.jsalert($);の上にまたはconsole.log($);上に書いてみてください。

$未定義ですか?

于 2012-05-09T18:31:35.000 に答える