Jquery + Rails проблематично, это правда?

Я видел комментарии в предыдущем вопросе, говоря, что лучше использовать Prototype с Rails. Однако мой собственный опыт заключается в том, что JQuery является превосходной библиотекой Javascript. Будучи новым для Rails, я еще не исследовал, как использовать JQuery с Rails, но я предполагал, что это сработает. Правильно ли, что это может быть проблемная комбинация, особенно в отношении Ajax, и что мне может понадобиться использовать Prototype?

Ответ 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 становятся доступными и более.