Jquery + Rails проблематичен, это правда? - PullRequest
13 голосов
/ 04 июня 2009

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

Ответы [ 7 ]

12 голосов
/ 04 июня 2009

Я работаю над всеми своими проектами с 3-х лет с рельсами и (исключительно) jquery. До сих пор никогда не сталкивался с (серьезными) проблемами.

Существует плагин под названием jrails, который выполняет функцию замены прототипа.

http://github.com/aaronchi/jrails/tree/master

Обновление: с его помощью вы можете получить все те же помощники Rails по умолчанию для функциональности javascript, используя

10 голосов
/ 04 июня 2009

Я использую jQuery и Prototype с рельсами. JQuery для DOM-манипуляций и Thickbox (мой любимый плагин Light Box), но я сейчас использую прототип для AJAX. без особой причины, просто еще не хотел использовать плагин jrails. я уверен, что сделаю это в будущем. если вы используете оба, это должно быть в вашем теге head:

    <%= javascript_include_tag 'prototype' %>
    <%= javascript_include_tag 'jquery' %>
    <script type="text/javascript">
        var $j = jQuery.noConflict();
    </script>

Тогда используйте jQuery с $ j

5 голосов
/ 04 июня 2009

Я использую jQuery и Rails на работе в производственной среде и могу сказать только приятные вещи. Мы тоже используем AJAX. Единственная проблема, о которой я могу думать, это вызов jQuery.noConflict (), который необходим, если вы используете jQuery и прототип вместе.

2 голосов
/ 05 июня 2009

Единственная проблема с jrails - это тестирование rjs. Но этот патч добавляет 5 из 8 недостающих помощников по тестированию.

1 голос
/ 04 июня 2009

Rails был создан для работы с Prototype для AJAX et. al., но нет никакой причины, по которой у вас есть для использования Prototype. Я сам фанат jQuery, и вы определенно можете использовать его с Rails.

Вы все еще можете подключиться ко многим работам AJAX, которые были выполнены в Rail с jQuery, не проблема.

И, как сказал kmorris, если вы используете jQuery и любую другую библиотеку javascript на том же сайте, обязательно добавьте строку jQuery.noConflict(), иначе произойдет ОЧЕНЬ плохое.

1 голос
/ 04 июня 2009

Использовать jquery с рельсами не составит труда, просто это не нативно поддерживаемая библиотека JavaScript. На самом деле вам не нужно использовать какие-либо встроенные в JavaScript рельсы, и структура RESTful вашего приложения (по умолчанию) должна сделать AJAX простым.

С прототипом и scriptaculous, много работы AJAX уже сделано для вас. С помощью jquery вы просто сами напишите еще немного JavaScript.

0 голосов
/ 07 ноября 2010

Попробуйте это: https://github.com/xpepermint/js_erb

Javascript становится частью приложения, становятся доступны шаблоны i18n и js и многое другое.

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