Я пытаюсь несколько следовать this rails cast, чтобы получить jQuery-fileuploader для работы в рельсах с несущей. У меня есть несущая волна и все остальное работает отлично, но когда я пытаюсь использовать jquery-fileupload-rails, я продолжаю получать ту же ошибку: Uncaught TypeError: Object [object Object] has no method 'fileupload'
. Это то же самое, когда я пытаюсь запустить $(selector).fileupload()
в консоли.jQuery-fileupload-rails fileupload не определен при каждой попытке
Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.2.16'
gem 'mysql2'
gem 'jquery-rails'
gem 'rest-client'
gem 'will_paginate'
gem 'simple_form'
gem 'chronic'
gem 'nokogiri'
gem 'carrierwave'
group :assets do
gem 'sass-rails'
gem 'coffee-rails'
gem 'uglifier'
gem 'jquery-fileupload-rails'
end
приложение/активы/JavaScripts/application.js
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap_ujs
//= require jquery-fileupload/basic
//= require_tree .
Это также происходит, когда я //= require jquery-fileupload
в выше.
Я проверяю голову и все скрипты загружаются в правильном порядке:
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/vendor/jquery.ui.widget.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/jquery.iframe-transport.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/jquery.fileupload.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/basic.js?body=1" type="text/javascript"></script>
<script src="/assets/uploads.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
При анализе сценариев в консоли Dev:
СценарийThis должен быть пустым файлом, потому что все, что он содержит, - это файлы, которые включаются в конвейер активов.jquery-fileupload/basic.js
только 5 пустым линии ... Что это должно быть?jquery-fileupload/jquery.fileupload.js
сценарий полон вещей, но когда я скопировать и вставить весь этот файл в консоль и нажмите клавишу ВВОД выводит:
Object function (selector, context) { // The jQuery object is actually just the init constructor 'enhanced' return new jQuery.fn.init(selector, context, rootjQuery); } has no method 'widget'
Я бегу пакет установки, удаления, то переустановку жемчужины и перезагрузку сервера (несколько раз). После 5 часов неудачи я все начал и попробовал еще раз. Это не удалось.
UPDATE:
Если скопировать вставить весь jquery-fileupload/vendor/jquery.ui.widget.js
файл в консоль затем скопировать вставить весь jquery-fileupload/jquery.fileupload.js
в консоль я не получаю ошибки, перечисленные выше, и метод fileuplaod внезапно отозваны. Это не имеет для меня никакого смысла, потому что если он включен в голову в этом порядке, он должен работать в этом порядке и быть доступным, когда вызывается $(selector).fileupload()
.
'// = require_directory .'? –
Должно быть '// require_tree .', нет? –
@RichPeck '// = require_tree .' на самом деле то, что должно быть. Это должно быть комментарий по этому вопросу. Это остается от меня возиться, пытаясь исправить это, и я удалил линию дерева и оставил это по ошибке. Спасибо что подметил это. Возможно, это вызвало проблемы. –