0

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

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

Благодаря

ответ

1

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

gem install jquery-rails 

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

gem 'jquery-rails' 

, а затем сделать

rails g jquery:install 

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

1

Вам необходимо загрузить 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

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

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

Совет Ника Кревера будет работать над тем, чтобы сделать jQuery и прототип работать вместе.

Смежные вопросы