【问题标题】:Rails app on Heroku not workingHeroku上的Rails应用程序无法正常工作
【发布时间】:2013-09-17 14:41:41
【问题描述】:

我的 js 无法在 Heroku 上运行。如您所见(页面已加载但未显示任何内容)

www.nmusicjungle.heroku.com

我猜问题是资产管道,破坏了我的 js 文件

在 localhost 上一切正常,你可以在这里看到结果

www.musicjungle.com.br

我什至尝试在application.rb 中使用config.assets.enabled = false,但在heroku 上没有任何改变。

起初我试图让 heroku 编译资产,但 heroku 失败了。所以我在本地机器上做了assets:precompile(没有错误),Heroku 接受了清单文件 我正在使用 Ruby 2 和 Rails 4

编辑:只是为了添加一个奇怪的行为,该网站部分加载在我的平板电脑上......哈哈

【问题讨论】:

  • 您在更改 application.rb 后是否提交更改并重新推送到 heroku?
  • 如果你运行 'heroku run rake assets:precompile' 会发生什么?
  • @PeterdeRidder :经过一些拼写错误(css 和 js)更正后,heroku 能够预编译我的资产
  • @dax 是的,我拒绝了,如果你现在访问 URL,js 和 css 是由 heroku 编译的。

标签: ruby-on-rails ruby heroku asset-pipeline


【解决方案1】:
config.assets.enabled = false

不是你想要的。

故障排除步骤,在本地编译您的资产

RAILS_ENV=production bundle exec rake assets:precompile

在推送之前在本地测试您的应用

rails s -e production

您很可能希望在“我的环境”.rb 文件中使用以下设置

  config.serve_static_assets = true

 # Compress JavaScripts and CSS
 config.assets.compress = false

 # Don't fallback to assets pipeline if a precompiled asset is missed
 config.assets.compile = false

 # Generate digests for assets URLs
 config.assets.digest = true

【讨论】:

  • 感谢 TheIrishGuy 的提示,完成所有这些步骤后,我在两个文件(js 和 css 中的拼写错误)上发现了一些小错误。我更正了它们,资产:生产环境的预编译没问题。但是在 rails -s e production 之后仍然没有加载任何内容
  • 顺便说一句,这次我什至可以使用 Heroku 来编译资产
  • 现在一切正常,对未来的提示:如果您要使用其他人的 .js,请确保它没有错误,在 Chrome 上调试它!感谢@TheIrishGuy 提供跟踪我的错误的提示
猜你喜欢
  • 1970-01-01
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2018-09-06
相关资源
最近更新 更多