9

Code School のJQuery に関する入門コース、jQuery Air: First Flightを終えたところです。これは jQuery の基本を学ぶのに最適な方法でした。完了したとき、新しい小さな Rails 3.2 アプリに jQuery を追加することに興奮していました。ただし、それを実現する方法は明らかではありません。

デフォルトでは、Rails 3.2 には jquery-rails および coffee-rails gem が付属しています。新しい 3.2 アプリはすべて、javascript と jquery を coffee-script の形式で受け入れるように設定されています。コーヒー スクリプトはすぐに学習しますが、今は jquery しかありません。

より具体的には、次のようなものを追加する必要があります。

<script type="text/javasript" src= "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

私のファイルの頭に、app/views/layouts/application.html.erbまたはjquery-rails gemと

<%= javascript_include_tag "application" %>

もう着いている?

アプリのどこに jQuery コードを配置すればよいですか? 私が生成する新しいコントローラーごとに、rails 3.2 はディレクトリーに素敵な[new_controller].js.coffeeファイルを作成しますapp/assets/javascripts/.coffeeそのファイルに入れると Javascript が動作しません。誰にも考えはありますか?

4

3 に答える 3

11

Code Schoolの善良な人々と実験し、連絡を取り合った結果、他の人が役立つと思われる次の回答を思いつきました。

Rails 3.2 アプリは、coffeescript を受け入れる準備ができています。実際、すべての新しいコントローラーは、新しい coffeescript を受け入れる準備ができている [new_controller].js.coffee ファイルを自動的に生成します。jQuery Air: First Flightを終えたばかりなので、すぐに coffeescript に取り掛かりますが、私が知っているのは jQuery だけです。

デフォルトのアセット パイプライン設定で jQuery を Rails 3.2 アプリに追加するには、次の手順を実行する必要があります。

1)ファイルjavascript_include_tag(:application)に 入れる。app/views/layouts/application.html.erbCode School の Adam Fortuna は、良いアドバイスのように聞こえるこの行をフッターに入れるのが一般的であると述べています。これにより、JavaScript の前にページの残りの部分をロードできるようになります。

.js2) 「app/assets/javascripts/」ディレクトリに、私の場合は user.jsという接尾辞が付いた新しいファイルを作成します。注: jQuery ファイルに自動的に作成された.js.coffeeファイルと同じ名前を付けないでください。そうしないと、おそらく coffeescript ファイルだけが読み込まれるため、読み込まれません。

3) jQuery JavaScript をそのファイルに心ゆくまで追加してください! これはすでに 3.2 アプリの一部であり、jquery-railsgem に含まれています。

Rails 3.2アプリでcoffee-scriptの代わりにjqueryとjavascriptを使用することに他の人が洞察を持っている場合は、追加してください。そうは言っても、私の次のステップはコーヒースクリプトを学ぶことです!

于 2012-07-07T14:38:11.827 に答える
1

何もする必要はありません。Rails はデフォルトで jquery を取得します。ファイルの拡張子が coffee でない場合は、coffeescript を使用する必要はありません。

これを読むと、魔法をよりよく理解できます。

独自のものを追加する必要がある場合は、次のように記述できます。

<%= javascript_include_tag "http://example.com/main.js" %>

これを読んで、 javascript_include_tag の仕組みを理解してください。

于 2012-07-07T14:33:40.447 に答える
0

それが application.js または application.js.coffee の一番上にあることを確認してください。gem がインストールされ//= require jqueryていれば問題ありません。jquery-rails

于 2012-07-07T14:34:03.490 に答える