Jrails и JQuery-рельсы вместе? - PullRequest
2 голосов
/ 08 марта 2011

Надеюсь, вы простите меня, если я немного запутался в этом.

Jrails переписывает все вспомогательные методы для rjs, в противном случае в прототипе.

Jquery-rails переопределяет rails.js (так что я учил и помощников rjs, но я вижу, что это не так) и остальные библиотеки в jquery вместо прототипа.

Значит ли это, что только с Jquery-rails я вообще не могу использовать rjs? Тогда эти драгоценные камни хорошо работают вместе и позволяют мне полностью забыть прототип? Есть ли какой-то недостаток в их совместном использовании?

Я читал некоторые жалобы на тот факт, что jrails использует jq 1.5, а теперь есть 1.8, но jquery-rails дает мне последнюю версию (есть ли ретро-совместимость?), Но как это повлияет на мою разработку (используя оба драгоценных камня вместе)? Я имею в виду У вас есть несколько примеров плагинов jquery-ui, которые я не могу использовать, или у меня могут быть проблемы с последними версиями?

Любая помощь приветствуется.

Не поймите меня неправильно, я не против прототипа, просто я продолжаю конфликтовать из-за конфликтов, используя оба из них, и если мне нужно выбрать, я выбираю Jquery.

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Да, RJS требует jrails.В противном случае RJS генерирует код prototype.Я только начал использовать jrails и jquery-rails вместе, и они отлично работают.Я должен использовать jrails, потому что в моем приложении много RJS-файлов.

В общем, люди, которые переключились на jQuery, пишут чистый код JavaScript.Они вообще не используют RJS, поэтому jrails не нужны.Вместо RJS используются шаблоны ERB.Например,

$('#foo').html("<%= escape_javascript(render "bar") %>"); 
1 голос
/ 08 марта 2011

Rails имеет концепцию "драйвера javascript", который можно заменить на любую библиотеку javascript. По умолчанию он использует прототип, но если вы устанавливаете jquery-rails, он удаляет драйвер JS для прототипа и добавляет драйвер jQuery.

Таким образом, вы по-прежнему можете запускать rjs с jQuery, поскольку драйвер отличается и будет выводить команды jQuery, а не прототип.

Что касается версии jQuery, вы путаете jQuery с jQueryUI. Последняя версия jQuery - 1.5.1 (и я думаю, что jQuery-rails имеет 1.5), а последняя из jQueryUI - 1.8.10. jQuery UI - это расширение jQuery, которое включает взаимодействие с мышью, дополнительные эффекты, темы и другие полезности.

Если вы новичок в jQuery, я настоятельно рекомендую вам прочитать jQuery в действии . Это удивительное введение в jQuery и jQueryUI .... определенно стоит каждого пенни.

...