在'rake assets:precompile'之后Rails 4资产没有在heroku中加载

时间:2013-11-27 11:25:58

标签: ruby-on-rails-4 loading assets precompile

这让我疯了!我的应用程序在本地服务器上正常工作,但是当我上传到heroku时,css和js文件没有更新。我阅读使用rake资产预编译:预编译来修复问题,但后来我再次上传到heroku,现在我的所有资产都没有加载!我已经尝试了预编译的所有变体,安装了12factor gem,将一些配置设置从false变为true,仍然没有发生!当我看到控制台时,它说

[错误] ReferenceError:找不到变量:jQuery     全球代码(申请-38ccb09605964287831a37a0d9faf188.js,第1行)

但我确实有Jquery!它在当地工作正常!我不知道我做错了什么。

的Gemfile

gem 'bootstrap-sass-rails'
gem 'rails_12factor', group: :production

gem 'rails', '4.0.0'

gem 'sqlite3', :group => [:development, :test]
group :production do
  gem 'thin'
  gem 'pg'
end

gem 'sass-rails', '~> 4.0.0'

gem 'uglifier', '>= 1.3.0'

gem 'coffee-rails', '~> 4.0.0'

gem 'jquery-rails'

gem 'jbuilder', '~> 1.2'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

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_assets = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new

2 个答案:

答案 0 :(得分:3)

正在运行$RAILS_ENV=production bundle exec rake assets:precompile使我的heroku应用程序正常运行。所以我猜问题是固定的..

抱歉,我没有解释为什么会这样做

答案 1 :(得分:0)

简单地运行

    $ bundle exec rake assets:precompile
    $ git add .
    $ git commit -am "assets precompiled locally"
    $ git push heroku master