Я видел комментарии в предыдущем вопросе, говоря, что лучше использовать Prototype с Rails. Однако мой собственный опыт заключается в том, что JQuery является превосходной библиотекой Javascript. Будучи новым для Rails, я еще не исследовал, как использовать JQuery с Rails, но я предполагал, что это сработает. Правильно ли, что это может быть проблемная комбинация, особенно в отношении Ajax, и что мне может понадобиться использовать Prototype?
Jquery + Rails проблематично, это правда?
Ответ 1
Я работаю над всеми своими проектами с 3 лет с рельсами и (исключительно) jquery. До сих пор до сих пор не встречались какие-либо серьезные проблемы.
Существует плагин под названием jrails, который выступает в качестве замены для прототипа.
http://github.com/aaronchi/jrails/tree/master
Обновление: вместе с ним вы можете получить все одинаковые помощники Rails по умолчанию для javascript-функций, используя
Ответ 2
Я использую jQuery и Prototype с рельсами. jQuery для DOM-манипуляции и толстого ящика (мой любимый плагин light box), но я использую прототип для AJAX прямо сейчас. нет особой причины, просто еще не захотели использовать плагин jrails. Я уверен, что сделаю это в будущем. если вы используете оба варианта, это должно быть в вашем теге заголовка:
<%= javascript_include_tag 'prototype' %>
<%= javascript_include_tag 'jquery' %>
<script type="text/javascript">
var $j = jQuery.noConflict();
</script>
Затем используйте jQuery с $j
Ответ 3
Я использую jQuery и Rails для работы в производственной среде и имею только хорошие вещи, чтобы сказать. Мы также используем AJAX. Единственная проблема, о которой я могу думать, это вызов jQuery.noConflict(), необходимый, если вы используете jQuery и прототип вместе.
Ответ 4
Единственная проблема с jrails - это тестирование rjs. Но этот patch добавляет 5 из 8 отсутствующих тестовых помощников.
Ответ 5
Не будет проблематично использовать jquery с рельсами вообще, это просто не поддерживаемая изначально библиотека JavaScript. Фактически вам не нужно использовать какие-либо встроенные JavaScript в rails, а структура (по умолчанию) RESTful вашего приложения должна сделать AJAX простым.
С прототипом и scriptaculous, много работы AJAX уже сделано для вас. С jquery вы просто напишите еще несколько JavaScript.
Ответ 6
Rails была создана для работы с Prototype для AJAX et. al., но нет причин, по которым вы должны использовать Prototype. Я сам поклонник jQuery, и вы можете определенно использовать его с Rails.
Вы все еще можете подключить много работы AJAX, которая была выполнена в Rail с помощью jQuery, а не проблема.
И, как сказал kmorris, если вы используете jQuery и любую другую библиотеку javascript на том же сайте, обязательно добавьте строку jQuery.noConflict()
, иначе ОЧЕНЬ плохие вещи произойдут.
Ответ 7
Попробуйте следующее: https://github.com/xpepermint/js_erb
Javascript становится частью приложения, шаблоны i18n и js становятся доступными и более.