Jrails и JQuery-рельсы вместе?

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

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

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

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

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

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

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

2 ответа

Решение

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

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

$('#foo').html("<%= escape_javascript(render "bar") %>"); 

В 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.... определенно стоит каждого пенни.

Другие вопросы по тегам