Rails 2 ": по умолчанию" конфликт js w / jQuery - PullRequest
1 голос
/ 24 мая 2011

Когда я использую javascript_include_tag для jQuery и Rails ':defaults, последний, кажется, переопределяет первый.

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

<%= javascript_include_tag "jquery-1.4.min.js" %>
<%= javascript_include_tag :defaults %>

... Я могу выполнить обновление AJAX с Rails, но ничего не могу сделать с jQuery. Когда я изменяю порядок javascript_include_tag s, я могу получить доступ к jQuery, но не могу выполнить запрос AJAX с Rails.

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

Рельсы 2.3.5, jQuery 1.4

Ответы [ 3 ]

2 голосов
/ 24 мая 2011

Здесь есть два простых решения. Используйте плагин jrails . Он проведет вас через то, что вам нужно сделать.

Или используйте jQuery вместо $ в вашем коде jQuery.

Например:

$('li').fadeOut();
// should be
jQuery('li').fadeOut();

Они будут делать то же самое, но Rails использует Prototype, который также отображает $ и поэтому конфликтует с jQuery.

0 голосов
/ 25 мая 2011

Не забудьте сначала добавить значения по умолчанию, а затем jquery.Конфликт между файлом prototype.js и файлом jquery-1.4.2.min

<%= javascript_include_tag  :defaults %>
<%= javascript_include_tag 'jquery-1.4.2.min' %>
<script>var $j = jQuery.noConflict();</script>

, использующим $ j вместо $ like.

$j(document).ready(function() {
.............
});
0 голосов
/ 25 мая 2011

Вы можете попробовать это и использовать $ j вместо $ для jQuery.

<script> var $j = jQuery.noConflict(); </script>

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