Rails активов конвейера и плагинов jquery. Что мне не хватает?

В проекте Rails 3.2 у меня есть файл application.js, который выглядит следующим образом:

//= require jquery
//= require jquery.hoverIntent
//= require jquery_ujs
//= require my_custom_js

И в моем макете мы просто ссылаемся <%= javascript_include_tag 'application' %>

Код в my_custom_js.js на самом деле использует плагин из jquery.hoverIntent.js, но когда я загружаю страницу, я получаю сообщение об ошибке JavaScript, говорящее, что нет такого hoverIntent Функция доступна на объекте, хотя я могу проверять элементы и видеть здоровые ссылки на существующие файлы.

Кикер здесь в том, что если я уберу эти две ссылки из application.js он загружается просто отлично. то есть:

<%= javascript_include_tag 'application' %>
<%= javascript_include_tag 'jquery.hoverIntent' %>
<%= javascript_include_tag 'my_custom_js' %>

Что мне здесь не хватает?

2 ответа

В вашем /layouts/application.html.erbДобавьте эти фрагменты в свой head раздел для загрузки JQuery.

<%= javascript_include_tag "jquery" %>
<%= javascript_incldue_tag 'jquery.hoverIntent' %>
<%= javascript_incldue_tag 'my_custom_js' %>

это загрузит jquery на все ваши страницы.

Если вам нужно больше информации о том, почему application.js не работает, прочитайте это, чтобы узнать больше. Моя единственная идея заключается в том, что ваш плагин не назван jquery.hoverIntent или ваши пути неверны.

ХОРОШО. Я понял это, и я чувствую себя глупым. Конвейер активов работал как предполагалось, но я предварительно предварительно скомпилировал активы, и он обслуживал ранее скомпилированные application.js который перезагружал jQuery, но ни один из плагинов.

Другие вопросы по тегам