【发布时间】:2019-04-27 16:44:25
【问题描述】:
我能够推送我的代码并部署到 Heroku,之前它在 Cloud9 上本地运行。我连接了 ruby on rails 的 buildpacks 并添加了一个 postgres db 以避免部署错误。当我查看部署的代码时,我的页面的 javascript 被禁用。
我已尝试摆脱 application.rb 文件中所需的 //= 树,删除 gemlock 文件,安装 sass 替代品,因为当前的替代品已折旧,heroku 资产清理并重新启动。并运行 rake assets:precompile for both local 和 heroku
这是在heroku run rake assets:precompile之后
NoMethodError: undefined method `[]' for nil:NilClass
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb:278:in `sprockets_context'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb:124:in `asset_path'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb:137:in `asset_url'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb:209:in `font_url'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:151:in `block in _perform'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:108:in `block in with_function'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:108:in `with_function'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:149:in `_perform'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/node.rb:50:in `perform'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/list_literal.rb:75:in `block in _perform'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/list_literal.rb:75:in `map'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/list_literal.rb:75:in `_perform'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/script/tree/node.rb:50:in `perform'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:398:in `visit_prop'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:513:in `block (2 levels) in visit_directive'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:513:in `map'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:513:in `block in visit_directive'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:512:in `visit_directive'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `map'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `visit_children'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `block in visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:157:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:10:in `visit'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/root_node.rb:36:in `css_tree'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/tree/root_node.rb:20:in `render'
/app/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/engine.rb:290:in `render'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/sass_compressor.rb:48:in `call'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/sass_compressor.rb:28:in `call'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:75:in `call_processor'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:in `call_processors'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:60:in `block in load'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:44:in `load'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:47:in `load'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/base.rb:66:in `find_asset'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/base.rb:73:in `find_all_linked_assets'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:134:in `block in find'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:133:in `each'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:133:in `find'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:186:in `compile'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:68:in `block (3 levels) in define'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-3.7.2/lib/rake/sprocketstask.rb:147:in `with_logger'
/app/vendor/bundle/ruby/2.5.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define'
/app/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:74:in `load'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:74:in `kernel_load'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:27:in `run'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/cli.rb:360:in `exec'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor.rb:369:in `dispatch'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/cli.rb:20:in `dispatch'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/base.rb:444:in `start'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/cli.rb:10:in `start'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/exe/bundle:30:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/exe/bundle:22:in `<top (required)>'
/app/bin/bundle:3:in `load'
/app/bin/bundle:3:in `<main>'
Tasks: TOP => assets:precompile
我希望拥有一个功能齐全的网站,但推送到 heroku 似乎导致应用程序没有任何 JavaScript 功能,但它应该有。请帮忙,对于烦人的帖子,我很抱歉,但我真的很想把它写下来。
【问题讨论】:
-
这篇文章可能对stackoverflow.com/questions/32939496/…有帮助
标签: javascript ruby-on-rails heroku