gpt4 book ai didi

ruby-on-rails - Rails 3.1 Assets 管道 : other assets on Amazon S3 demanding to be precompiled?

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

因此,我们的 Rails 3.1(.1) 站点在几个不同的地方包含 Assets ,Rails(出于某种原因)希望对托管在 Amazon S3 上的这些图像进行预编译。站点特定的(样式表、小布局图像等)是本地的,它们在生产中成功预编译,并存储在 public/assets 中。 ,就像他们应该的那样。它们通过 Apache 提供很好

我们的图像在数据库中存储了指向 CDN 托管图像的 URL,这些 URL 没有文件扩展名;相反,他们有一个 MD5。他们是 http://path-to-cdn.com/<BIG-'OLE-MD5-HASH> .它们是通过我们使用 Rails 的 View 提供的 image_tag帮助程序很好,它们出现在生产中,它们不会被我们的预编译业务所吸引(因为它们是动态的,真的,基于我们网站上的产品页面)。

不好的是第三组 Assets ;它们存储在 Amazon S3 上,主机名与我们网站在生产环境中提供服务的主机名相似(例如,该网站位于 store.hostname.com, Assets 位于 images.hostname.com.s3.amazonaws.com)。当我们访问包含其中一张图片的页面时(这些图片确实有某种扩展名;.jpg | .png | .gif 等),我们得到一个500。错误,并且会提交有关该图像的 URL 未被预编译的 Sprockets 错误。

我见过一些解决方案,人们会输入 Procconfig.action_controller.asset_host ,但我不确定这是否适用于我的情况。我似乎找不到解决方案的答案。

除了将页面上的 URL 写入原始 HTML 图像标签 ( <img src=""/> ) 而不是 Rails image_tag 之外,还有什么办法吗? ?我们真的很希望能够使用这些好 helper 。

最佳答案

所以从评论来看,您数据库中的图像 url 似乎以空格作为第一个字符,这导致 image_tag 寻找 Assets 而不是直接链接到 url。

关于ruby-on-rails - Rails 3.1 Assets 管道 : other assets on Amazon S3 demanding to be precompiled?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9421582/

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