gpt4 book ai didi

ruby-on-rails - 部署前如何在 Assets 管道中找到丢失的图像

转载 作者:行者123 更新时间:2023-12-04 07:35:38 25 4
gpt4 key购买 nike

我正在使用 Rails 3.2.8 进行开发。
一件烦人的事情是,如果错误地丢失了图像,则会在生产模式下出现错误。

假设我放置了以下代码。

实际上,我忘记将 my.jpg 文件放在 app/assets/images 中,这在开发中是可以的(浏览器将忽略丢失的图像),但在生产模式下会出现 rails 错误。

如何在部署前找到丢失的文件?

谢谢。

山姆

最佳答案

我在为部署构建新版本时所做的设置在我的 config/environments/test.rb 中设置如下。

config.assets.compile = false
config.assets.digest = true

这模仿了 production Assets 管道的环境配置,防止 Assets 被编译并强制通过 manifest.yml 查找文件/ Assets 管道。运行您的测试(您确实有测试,对吗?:-))并注意失败。

如果你没有测试,grep你 log/development.log对于 500 错误
tail -f log/development.log | grep 500

手动浏览几页并观察尾部出现的新日志条目。你应该考虑编写测试来自动化这个。

您在生产中看到错误的原因是 Assets 管道无法找到您请求的 Assets 并因此引发异常。在开发中,事情更加宽松,因此可以向您提供调试信息以支持 500 错误。通过在您的环境中更改上述配置,您告诉 rails 严格按照它通过 Assets 管道对丢失 Assets 的响应采取行动,从而使您能够在问题进入生产之前发现问题。

关于ruby-on-rails - 部署前如何在 Assets 管道中找到丢失的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13783429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com