Как я могу обновить до jQuery 1.7+ с помощью Rails 3? - PullRequest
6 голосов
/ 29 декабря 2011

Я только что заметил эту ошибку и мне нужно обновить проект Rails 3.1 (я не использую конвейер ресурсов) до jQuery 1.7 +.

Я вижу, что уже есть jQueryбиблиотеки в моей папке javascripts (public / javascripts).Если не считать копирование новой библиотеки jQuery туда вручную, есть ли комментарий для замены файла JavaScript с использованием Ruby?

Ответы [ 3 ]

12 голосов
/ 11 января 2012

В Rails 3.1 jQuery управляется гемом jquery-rails . Вы можете обновить свою версию jQuery, используя более новую версию jquery-rails. Это очень легко сделать. Вот полное объяснение.

Просмотрите существующую версию, запустив gem list из корневого каталога проекта. Вы, вероятно, увидите что-то вроде этого:

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

Gem jquery-rails использует jQuery 1.7+ в версиях 1.0.17+. На момент написания этой статьи последняя версия gem для Rails 3.1: 1.0.19, в которой используется jQuery 1.7.1. Это звучит как то, что вы хотите!

Так что вам не нужно ничего бросать в папку /javascripts. Вместо этого укажите более новую версию драгоценного камня в вашем Gemfile. Вот что у меня есть в моем:

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

Забавный персонаж ~> говорит компоновщику найти версию гема, которая соответствует как минимум тому, что вы укажете (1.0.19 здесь), и любые более поздние второстепенные выпуски, но не следующий основной выпуск (который 2.0.0) для этого драгоценного камня, поддерживая только Rails 3.2 +).

Затем из корня проекта запустите bundle, и указанная версия будет настроена для вас. Перезапустите приложение Rails, перезагрузите страницу, и вы сможете убедиться, что вы сейчас работаете с jQuery 1.7.1.

Дайте мне знать, как это происходит!

Приветствие.

2 голосов
/ 22 августа 2016

В Rails 4 вы можете обновить jquery следующим образом

в application.js манифест

//= require jquery2 //for jquery 2

//= require jquery3 //for jquery 3
0 голосов
/ 08 октября 2014

Я обновил свою версию гема jquery-rails до версии 3.1.2 (введите: bundle show jquery-rails, чтобы увидеть текущую версию jquery-rails, или gem list, чтобы увидеть все драгоценные камни)

Однако на моей веб-странице все еще использовалась устаревшая версия jquery 1.3. Чтобы проверить, какую версию вы используете, перейдите в файл jquery.js, который находится в вашей папке assets / javascripts, там должна быть указана версия. Конечно, чтобы использовать jquery, вы также должны включить jquery.js в файл assets / javascripts / application.js, добавив следующую строку:

//= require jquery

И в случае, если у вас также есть другие библиотеки JS, например, прототип, вам определенно захочется проверить и эту ссылку: jQuery - предотвращение конфликтов с другими библиотеками

В любом случае, возвращаясь к сути, согласно рекомендации zzg выше, я открыл ссылку, которую он предоставил: Latest Jquery , и буквально скопировал и вставил содержимое этой веб-страницы в мой файл jquery.js. После того, как я перезапустил сервер и обновил свою веб-страницу, мой jquery использовал последнюю версию. Мой jQuery работал локально над моей средой разработки, но не сразу работал над производством (пытаясь выяснить это прямо сейчас).

Наконец, еще одна полезная вещь: вы всегда можете увидеть, какую версию использует ваше rails-приложение (в вашем локальном dev-файле), щелкнув правой кнопкой мыши на веб-странице приложения rails и выбрав «View Source Source». ", вы должны найти такую ​​ссылку:

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

Если щелкнуть по нему, отобразится содержимое файла jquery.js, в котором указана версия (это не будет работать в рабочей среде, поскольку конвейер ресурсов сжимает все файлы javascript в один файл, а именно application.js)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...