【发布时间】:2015-07-11 02:26:54
【问题描述】:
我正在运行带有“foundation-rails”5.5.2 gem 的 Rails 4.2.3,但无法在 Heroku 上运行。我的应用程序在本地运行良好,但是当尝试使用 Foundation 5 将我的应用程序部署到 Heroku 时,javascripts 没有加载。
Heroku 上的 CSS 看起来还不错,但是诸如 modals 之类的东西不起作用,并且控制台没有显示我的 application.js 文件中指定的任何 javascript 正在运行。
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
宝石文件
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
编辑 看起来我收到一条错误消息,上面写着“未捕获的 TypeError:$(...).foundation 不是函数”。我不确定这是否与 Heroku 或我的配置有关。为什么这会在本地工作,而不是在 Heroku 上?
【问题讨论】:
-
您确定您的预编译资产正在进入您的存储库,以便在部署期间它们可供 Heroku 使用吗?
-
我想是的。我可以在 public/assets/vendor 文件夹中看到它们。
-
它们是否被推送到您的存储库?您应该验证存储库是否包含这些文件。
-
我使用了
heroku run bash并确认它们在heroku 存储库中。 -
看起来我收到一条错误消息,上面写着“Uncaught TypeError: $(...).foundation is not a function。我不确定这是否与 Heroku 或我的配置有关. 为什么这会在本地工作,而不是在 Heroku 上?
标签: javascript ruby-on-rails-4 heroku zurb-foundation-5