2011-12-28 20 views
6

私はちょうどthis errorに気づいたので、Rails 3.1プロジェクト(アセットパイプラインは使用していません)をjQuery 1.7+にアップグレードする必要があります。Rails 3を使用してjQuery 1.7以上に更新するにはどうすればよいですか?

私のjavascriptsフォルダ(public/javascripts)には既にjQueryライブラリがあります。新しいjQueryライブラリを手動でそこにコピーするのではなく、Rubyを使ってJavaScriptファイルを置き換えるコメントはありますか?

+1

で更新しjqueryのは、何があなたの 'パブリック/ javascripts'ディレクトリにjQueryライブラリの新しいバージョンをコピーすることが悪いですの?それは、私がジャーナリストをレールプロジェクトでアップグレードしたいときに行うことです。 – Batkins

+0

私はRailsについては何も知っていませんが、可能であれば、jQueryの[jquery-latest.js](http://code.jquery.com/jquery-latest.js)ファイルに外部接続する方法を試してみてください。これには最新のjQueryリビジョンが含まれています。 –

答えて

13

Rails 3.1では、jQueryはjquery-rails gemによって管理されています。新しいバージョンのjquery-railsを使用してjQueryバージョンをアップグレードできます。それは非常に簡単です。ここに完全な説明があります。

プロジェクトルートディレクトリからgem listを実行して、既存のバージョンを確認してください。 jquery-rails宝石は1.0.17+のバージョンでのjQuery 1.7以降を使用しています

... 
i18n (0.6.0) 
jquery-rails (1.0.16, 1.0.14, 1.0.13) 
json (1.6.1) 
... 

:あなたは、おそらくこのようなものが表示されます。この記事の執筆時点では、Rails 3.1用のgemの最新バージョンは1.0.19で、jQuery 1.7.1を使用しています。それはあなたが欲しいもののように聞こえる!

したがって、/javascriptsフォルダに何もドロップする必要はありません。代わりに、Gemfileに新しいバージョンのgemを指定してください。ここで私は私の中に持っているものです。

gem "jquery-rails", "~>1.0.19" 

面白い~>文字は、指定された少なくとも何である宝石(ここでは1.0.19)、およびそれ以降のマイナーリリースのバージョンを見つけるために、バンドラに指示ではなく、次のメジャーリリース(この宝石は2.0.0で、Rails 3.2以降のみをサポートしています)。

次に、プロジェクトルートからbundleを実行すると、指定されたバージョンがセットアップされます。 Railsアプリケーションを再起動してページをリロードし、jQuery 1.7.1を扱っていることを確認できるはずです。

どうすればいいか教えてください!

乾杯。

+2

'bundle show jquery-rails'はあなたがインストールした宝石のバージョンを確認するより速い方法です。 – blushrt

+0

これは私にとってはまったく機能しません。 2.0.1を実行して2.1.0に変更し、古い宝石をアンインストールして新しいものをインストールしました。 jQueryは1.8でロードされていますが、1.10になるはずです。 – Aristata

0

私はバージョン3.1.2 (タイプ:bundle show jquery-railsすべての宝石を見るためにあなたの現在のjqueryのレールのバージョンを参照するか、gem listする)に私のjqueryのレールの宝石のバージョンを更新し、私のWebページがまだ時代遅れを使用していたが

jqueryバージョン1.3。 使用しているバージョンを確認するには、assets/javascriptsフォルダにあるjquery.jsファイルに移動します。バージョンはそこに指定する必要があります。次の行を追加することによって、あなたはまた、同様にあなたの資産/ JavaScriptの/ application.jsファイルでjquery.jsを含める必要がjqueryのを使用するためにはもちろん :

//= require jquery 

を、ケースには、あなたも他の持っていますJSライブラリは、例えば、プロトタイプのように、あなたは間違いなくだけでなく、このリンクをチェックアウトしたくなるでしょう:Latest Jqueryと文字通りコピーして:上記zzgの推奨されているように、ポイントに戻ってとにかく jQuery- Avoiding Conflicts with Other Libraries

を、私は彼が付属するリンクを開きますそのWebページの内容をjquery.jsファイルに貼り付けました。サーバーを再起動してWebページを更新した後、私のjqueryは最新バージョンを使用していました。私のjQueryは私のdev env上でローカルに作業していましたが、直ちにプロダクションに取り掛かっていませんでした。

最後に、知っておくと便利なもう1つのことは、あなたのレールアプリケーションがあなたのローカルのdev envでどのバージョンを使用しているかを常に見ることができるということです。ソース」、あなたはこのようなリンクを見つける必要があります:それは、アセットパイプラインはすべて圧縮するので(これは、製造上では動作しませんバージョンを指定するあなたのjquery.jsファイルの内容を表示しますクリック

<script data-turbolinks-track="false" src="/assets/jquery.js?body=1"></script>

をjavacriptファイルをapplication.jsという1つのファイルに)

1

In Rails 4 You c次のようapplication.jsマニフェスト

//= require jquery2 //for jquery 2 

//= require jquery3 //for jquery 3 
関連する問題