3

Я использую Rails 3.2.3 и развертываю в кедровом стеке Heroku, и у меня возникают проблемы с конвейером моего ресурса и компиляция файлов UI jQuery, которые мне нужны.Rails Asset Pipeline - проблемы с компиляцией активов jQuery UI

В частности, проблема проявляется в двух отдельных вопросов, которые я думаю, связаны:

1) в разработке мои кнопки раскрывающихся не работают, но в производстве они делают

2) в развитии моего DatePicker и слайдеры не работают, и они также не работают в производстве. Однако, если я позвоню в javascript() в верхней части моего представления, датпикер и слайдеры работают в разработке, но не в производстве

Я пробовал compiling the assets locally and also during slug compilation, но безрезультатно.

Мои application.js:

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require bootstrap 
//= require_tree . 

Мои Gemfile:

source 'https://rubygems.org' 

gem 'rails', '3.2.3' 
gem 'bootstrap-sass', '2.0.0' 
gem 'bcrypt-ruby', '3.0.1' 
gem 'faker', '1.0.1' 
gem 'will_paginate', '3.0.3' 
gem 'bootstrap-will_paginate', '0.0.5' 
gem 'date_validator' 
gem 'jquery_datepicker' 

group :development, :test do 
gem 'sqlite3', '1.3.5' 
gem 'rspec-rails', '2.9.0' 
gem 'annotate', '~> 2.4.1.beta' 
end 

group :assets do 
gem 'sass-rails', '3.2.4' 
gem 'coffee-rails', '3.2.2' 
gem 'uglifier', '1.2.3' 
end 

gem 'jquery-rails', '2.0.0' 

group :test do 
gem 'capybara', '1.1.2' 
gem 'factory_girl_rails', '1.4.0' 
end 

group :production do 
gem 'pg', '0.12.2' 
end 

Мой конфиг/среда/development.rb

# Do not compress assets 
config.assets.compress = false 

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

Мой конфиг/среда/production.rb:

# Disable Rails's static asset server (Apache or nginx will already do this) 
config.serve_static_assets = false 

# Compress JavaScripts and CSS 
config.assets.compress = true 

# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = false 

# Generate digests for assets URLs 
config.assets.digest = true 

Мой макет application.html.erb:

<%= javascript_include_tag "application" %> 

ответ

4

Вы не указали нам свой код. Но я предполагаю, что это может быть проблема с нагрузкой на дом.

Попробуйте положить свой экземпляр внутри звонка jQuery();

Вот пример прямо из twitter-bootstrap-rails;

jQuery(function($){ 
    $("a[rel=popover]").popover(); 
    $(".tooltip").tooltip(); 
    $("a[rel=tooltip]").tooltip(); 
}); 

То же самое должно пойти на любые autocompleters JQuery UI

jQuery(function($){ 
    $("input.search-autocomplete").autocomplete({ 
    source: "/search" 
    }); 
}); 
1

Попробуйте изменить название «Jquery-ш» нравится «JQuery-щ-1,0» и поместить этот файл с этим именем в ваших «приложение/активы ». Я догадываюсь, что имя столкнулось с чем-то, предоставленным драгоценными камнями.

+0

Привет, спасибо за вашу помощь. К сожалению, это не сработало. Это странно. Если я вызову javascript, используя api google в верхней части моего представления ' 'тогда слайдеры и датпикер работают нормально. Но я до сих пор не знаю, почему он работает неправильно, используя конвейер активов. – diasks2

+0

, то просто скачайте этот файл и замените то, что локально на вашем компьютере. Вероятно, ваша локальная версия jquery-ui испорчена. –

+0

Не jquery-ui получить втянутым через jquery-rails gem, хотя? Если я не понимаю, как работает этот камень. – diasks2

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