0

我用回形针附加的图像在开发环境中显示正常,但在生产环境中显示损坏,我检查了图像的 url 在两者中是相同的:

<img alt="Badminton" class="img-rounded" src="/system/sports/images/000/000/012/small/badminton.jpg?1365944689" />

我正在使用 Paperclip 3.0.4 并在开发中使用 SQLite,在生产中使用 PostgreSQL,我做错了什么?

好的,我再次检查过,开发中的图像与生产中的图像的 url 不同。在开发中,我的形象是:

src="/system/sports/images/000/000/012/small/badminton.jpg?1365944689"

在生产中是:

src="/system/sports/images/000/000/012/small/badminton.jpg?1366328860"

在生产中,如果我尝试使用开发 url 访问图像,它会正确显示。

这里发生了什么?为什么将图像 url 末尾的数字从开发更改为生产?

4

2 回答 2

1

你得到相同的网址!最后的那个数字不是图像路径的一部分,它用于缓存......忽略它(关于这个问题)。

您的生产 url 正在您的系统上寻找图像。那不可能。

你的主人是谁?许多主机(包括 Heroku,如果您正在使用的话)不提供上传图片资源的功能。您必须使用单独的服务,例如 Amazon S3 存储。它既简单又便宜。

于 2013-04-19T15:24:03.750 回答
1

我在使用 Rails 4.2.4 时遇到了同样的问题。默认情况下,Rails 不会读取public文件夹。此信息出现在 上config/environments/production.rb。因为 Apache 或 NGINX 已经处理了这个。

为了解决这个问题,你可以改变那条线config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?,到

config.serve_static_files = true. 如果您使用的是以前的版本 rails ,它可能会写成config.serve_static_assets = true

于 2017-03-23T20:11:36.777 回答