我几周来一直试图解决这个问题,但没有成功,所以我认为我应该自己写一个,而不是在其他人的问题中寻找答案。
问题如下。几周前,我完成了一个 Rails 项目,因此我将存储库推送到了 Heroku。一切似乎都工作正常,但后来我注意到我的导航栏工具不起作用,我的轮播也不起作用。在本地,它们工作得很好。
目前它托管在 heroku 上。
这些是我尝试过的事情。
- 预编译和清理的资源
- 已安装
gem“rails_12factor”
- 重新排序 app.js 如下
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require twitter/bootstrap
//= require lightbox
//= require_tree .
//= require owl.carousel
我什至将我的应用程序部署到了 digital ocean (我认为 heroku 是问题所在)
我尝试使用不同的 Bootstrap gem。
gem 'bootstrap-sass'
但仍然是同样的问题。 所以,基本上有些 js 没有按应有的方式工作。我什至尝试使用另一种名为 flickity 的 slider ,我下载了 flickity 的 js 和 css,预编译,然后推送,但在 Heroku 中似乎已损坏。- 遵循了接下来的 stackoverflow 问题:
这是我的代码:
生产.rb
config.serve_static_files = true
config.assets.compile = true
gem 文件
gem "twitter-bootstrap-rails"
gem 'lightbox2-rails'
gem "font-awesome-rails"
gem 'activeadmin'
gem 'owlcarousel-rails'
gem 'rails_12factor', group: :production
gem "rmagick"
gem "carrierwave"
gem "mini_magick"
gem 'kaminari'
gem 'jquery-ui-rails'
gem 'sprockets_better_errors'
group :development do
gem 'capistrano', require: false
gem 'capistrano-rvm', require: false
gem 'capistrano-rails', require: false
gem 'capistrano-bundler', require: false
gem 'capistrano3-puma', require: false
end
gem 'devise'
gem 'cancan'
gem 'draper'
gem 'pundit'
gem 'rails'
gem "puma"
gem 'pg', '~> 0.20.0'
gem 'jquery-rails'
gem 'jbuilder', '~> 2.0'
应用程序.css
*= require lightbox
*= require font-awesome
*= require bootstrap
*= require_tree .
*= require owl.carousel
*= require owl.theme
控制台错误
Uncaught TypeError: $(...).carousel is not a function(…)
此错误可以解释轮播不起作用的原因。但我尝试过其他的,但它们也不起作用。导航栏 Toogle 又如何呢?
还有这个
未捕获的类型错误:无法读取未定义的属性“桥”(...)
如果您需要更多信息,请告诉我。
最佳答案
尝试将 config.assets.debug = true
放入 production.rb 文件中,看看是否可以修复该问题。我猜测您的压缩 JS 文件中间存在错误,导致其余函数无法执行。
关于Javascript 在本地工作但不在生产环境中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46698432/