Возвращаясь к использованию прототипа - PullRequest
0 голосов
/ 11 декабря 2010

Я установил https://github.com/lleger/Rails-3-jQuery, и он работал нормально, однако помощники рельсов, которые я использовал с прототипом, перестали работать.

Как мне вернуться к использованию прототипа, чтобы использовать помощники rails ИЛИ заставить помощников работать с jQuery (последнее было бы идеальным решением).

Спасибо

Ответы [ 3 ]

1 голос
/ 12 декабря 2010

На самом деле используемый вами камень недостаточно хорош.Вы должны использовать jquery-rails.Установите следующим образом:

gem install jquery-rails

или добавьте его в Gemfile

gem 'jquery-rails'

, а затем выполните

rails g jquery:install

. Это не только удаляет prototype.js,и загружает jquery, но также (что важно!) загружает адаптированный rails.js , который работает с jquery и гарантирует, что все стандартные rails-помощники будут работать.

1 голос
/ 11 декабря 2010

Вам нужно загрузить jQuery после прототипа, затем вызвать jQuery.noConflict(), например:

$j = jQuery.noConflict();

Затем используйте $j для jQuery вместо $.

Или, все еще вызывая jQuery.noConflict(), вы можете использовать $ внутри функции только для этого, например:

jQuery.noConflict();
//$ is prototype
(function($) {
  //$ is jQuery
})(jQuery);
//$ is prototype

Или, скажем, вы используете обработчик document.ready, короткая версия будет:

jQuery.noConflict();
//$ is prototype
jQuery(function($) {
  //$ is jQuery, this runs when the DOM is ready
});
//$ is prototype
0 голосов
/ 11 декабря 2010

Помощники Rails 3 должны работать и с jQuery. (Например, link_to ..., :remote => true), единственное, что нужно сделать, это загрузить jQuery и новый rails.js.

Исключение составляют помощники, связанные с RJS.

Совет Ника Крейвера поможет совместить jQuery и прототип.

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