2015-07-02 2 views
1

Я бегу Rails 4.2.3 с камнем «фундамент-рельсы» 5.5.2, и я не могу его запустить на Heroku. Мое приложение работает нормально локально, но при попытке развернуть мое приложение в Heroku с помощью Foundation 5 javascripts не загружаются.Javascripts не работают на Heroku Rails 4.2 развертываются с Zurb Foundation 5, но работают в разработке

CSS выглядит нормально на Heroku, но такие вещи, как модалы, не работают, и консоль не показывает, что есть какие-либо javascripts, которые были указаны в моем файле application.js.

Modernizr.js и Jquery-2.1.4 работают

Я не вижу никаких ошибок в любом месте, и я прекомпилированы активами, используя bundle exec rake assets:precompile и активы, по всей видимости, были прекомпилированы.

Как я могу загрузить javascripts, чтобы страница работала правильно?

application.js:

//= require jquery 
//= require jquery_ujs 
//= require jquery.serializeJSON 
//= require jquery.bind_with_delay 
//= require_tree . 
//= require_self 
//= require gifffer.min 
//= require imagesloaded.min 
//= require google.jsapi 
//= require foundation 
//= stub bookmarklet/modal_bookmarklet 
$(function() { 
    $(document).foundation(); 
}); 

production.rb

config.cache_classes = true 

config.eager_load = true 

config.consider_all_requests_local  = false 
config.action_controller.perform_caching = true 

config.serve_static_files = true 

config.assets.js_compressor = :uglifier 

config.assets.compile = true 

config.assets.digest = true 

Gemfile

source "https://rubygems.org" 

gem "rails", "4.2.3" 
gem "unicorn" 
gem "mysql2", ">= 0.3.14" 
gem "pg" 
gem "thinking-sphinx", "~> 3.1.2" 
gem "jquery-rails" 
gem "dynamic_form" 
gem "exception_notification" 
gem "bcrypt", "~> 3.1.2" 
gem "nokogiri", "= 1.6.6.2" 
gem 'mini_portile', '~>0.6.2' 
gem "htmlentities" 
gem "rdiscount" 
gem "oauth" 
gem "mail" 
gem 'metainspector', :git => 'https://github.com/jaimeiniesta/metainspector.git' 
gem 'material_icons' 
gem "bower-rails","~> 0.9.2" 
gem 'launchy' 
gem 'sass', '~> 3.4.15' 
gem 'foundation-rails', '~> 5.5.2' 
gem 'compass', '~>1.0.3' 
gem "uglifier", ">= 1.3.0" 
gem 'coffee-rails', '~> 4.1.0' 
gem 'modernizr-rails', '~>2.7.1' 
gem 'jbuilder', '~> 2.3.0' 
gem 'multi_json', '~>1.11.1' 

gem 'rails_12factor' 
gem 'paperclip', :git => "git://github.com/thoughtbot/paperclip.git" 
gem 'aws-sdk' 
gem 'figaro' 
gem 'omniauth-facebook' 

gem 'pg_search' 
gem 'kaminari' 
gem 'ejs' 

gem 'yt', '~> 0.25.0' 

group :doc do 
    gem 'sdoc', require: false 
end 

group :test, :development do 
    gem "rspec-rails", "~> 3.3.2" 
    gem "machinist" 
    gem "sqlite3" 
    gem "faker" 
    gem 'annotate' 
    gem 'better_errors' 
    gem 'binding_of_caller' 
end 

Редактировать Похоже, что я получаю сообщение об ошибке «Uncaught TypeError: $ (...). Foundation не является функцией». Я не уверен, связано ли это с Heroku или моей конфигурацией. Почему это будет работать локально, а не на Героку?

+0

Вы уверены, что ваши предварительно скомпилированные активы попадают в ваш репозиторий, чтобы они были доступны для Heroku во время развертывания? –

+0

Я так думаю. Я могу видеть их в папке public/assets/vendor. – alphaleonis

+0

И они попадают в ваш репозиторий? Вы должны убедиться, что в репозиторий включены эти файлы. –

ответ

0

У вас есть свой вызов require_self, прежде чем вы загружаете основание JS, и пытаетесь использовать фундамент JS в файле манифеста. Попробуйте переместить директиву require_self после всех ваших других директив.

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