Как я могу определить, правильно ли загружается jQueryUI в Rails 3.1? - PullRequest
0 голосов
/ 01 февраля 2012

Я пытался заставить вкладки jQueryUI работать в моем приложении Rails 3.1, но всегда получаю.

Я загружаю jQuery и jQueryUI из инструкции jquery-rails в моем application.js.coffee

#= require jquery
#= require jquery-ui
#= require jquery_ujs
# more requires ...

jQuery ->
  // regular jQuery stuff

Я всегда получаю TypeError: Object [object Object] has no method 'tabs', как будто jQueryUI не был загружен должным образом. Даже если я попробую это в консоли

fail in chrome console

Я проверил содержимое драгоценного камня jquery-rails и он там есть

$ head -n 2 ~/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.18/vendor/assets/javascripts/jquery.js 
/*!
 * jQuery JavaScript Library v1.7

$ head -n 2 ~/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.18/vendor/assets/javascripts/jquery-ui.js
/*!
 * jQuery UI 1.8.16

Почему jQueryUI загружается неправильно? Нужно ли мне что-то устанавливать в конфигурации приложения, чтобы оно загружало jQueryUI? Есть ли способ проверить, когда он загружается и откуда?

Я проверил сам файл jQueryUI, и он действительно содержит определение вкладки ... доказательство:

$ grep tabs ~/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.18/vendor/assets/javascripts/jquery-ui.js | wc -l
      90

Ответы [ 4 ]

1 голос
/ 11 ноября 2012

У меня была именно эта проблема (за исключением того, что она была с сортируемыми, а не с вкладками) - оказалось, что у меня был старый набор предварительно скомпилированных ресурсов.Удаление public / assets устранило ошибку (подсказка " Rails 3.1, пользовательский интерфейс jQuery не загружает ")

0 голосов
/ 06 ноября 2013

У меня была эта проблема с вкладками и собирался бананы.Оказалось, мне нужно было предварительно скомпилировать мои активы:

RAILS_ENV=production bundle exec rake assets:precompile

Это исправило это для меня.(Я думаю, что удаление содержимого папки public / assets, как упомянуто в ответе выше, также сработало бы.)

0 голосов
/ 30 июля 2013

В config / environment / development.rb (или в файле среды, который вы хотите редактировать)

  # Expands the lines which load the assets
  config.assets.debug = true

Это замедлит рендеринг страницы, но в источнике страницы будут показаны все источники javascript и css.загружается вместо того, чтобы показывать один большой сжатый файл.Вы можете проверить, является ли jquery-ui одним из них.

Кроме того, проверьте, определяется ли jquery дважды.В этом случае переменная $ переопределяется и переопределяется, и API-интерфейс может быть недоступен в новой привязке определения.

0 голосов
/ 01 февраля 2012

с точки зрения проверки правильности загрузки, я бы порекомендовал плагин yepnope.js . Он позволяет вам тестировать условия, параллельно загружать сценарии, обрабатывать ошибки и имеет удобные обратные вызовы.

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