【问题标题】:Why are assets suddenly 'not found' in a Rails 4 production env?为什么在 Rails 4 生产环境中突然“找不到”资产?
【发布时间】:2015-07-14 13:35:49
【问题描述】:

在一个成熟的 Rails 4 应用程序中,突然找不到资产 - css、图像、js 等等。

在开发中一切正常,直到最近才在生产中运行。

我们已经推送了一些代码更新,但没有明显的原因会导致这种情况,我正在努力知道从哪里开始调试。

有趣的是,如果我检查页面源,看起来资产没有分配摘要。我不认为这在 Rails 4 中是可能的?此外,资产摘要的配置开关绝对适用于生产环境。

我应该从哪里开始调试?

【问题讨论】:

  • 您查看过服务器启动日志吗?也许那里出了点问题?
  • 你没有忘记做 rake assets:precompile RAILS_ENV=PRODUCTION 吗?

标签: ruby-on-rails asset-pipeline


【解决方案1】:

关于 css 不工作,很可能是因为你忘了做

rake assets:precompile RAILS_ENV=production

关于图片未显示,尝试将您的 html 代码更改为

<%= image_tag 'foldername/image.jpg' %>

如果你在/assets/images下有一个文件夹

并且不要忘记每次都进行资产预编译。

【讨论】:

  • 感谢 Mac,我正在部署到 heroku,部署期间会自动调用 Assets:precompile。至少,到目前为止它是这样工作的,有什么变化吗?
  • @AndyHarvey 通过生产,我没有想到 heroku...无论如何,您的 config.serve_static_assets... 是真的吗?
  • 是的,设置为true
  • 阅读这里devcenter.heroku.com/articles/rails-4-asset-pipeline,如果您可以在您的问题中发布一些相关代码,那将是最好的
  • 感谢 Mac,我非常乐意提供代码。问题是,我不知道要提供什么代码。直到最近,资产都运行良好,并且没有明显的候选者可以归咎于哪个代码。我将在今天晚些时候更仔细地审查最近的提交,并将发布任何跳出的内容。否则,我非常感谢有关如何系统地调试它的任何建议。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-25
  • 2014-09-18
  • 1970-01-01
  • 2013-04-09
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
相关资源
最近更新 更多