Rails回形针图像未在生产中显示

问题描述 投票:0回答:2

我用Paperclip附带的图像在开发环境中显示正常,但在生产中它们显示已损坏,我检查了蚂蚁图像的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末尾的数字从开发更改为生产?

ruby-on-rails ruby-on-rails-3 paperclip
2个回答
1
投票

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

您的生产网址正在您的系统上查找图像。 那不可能。

谁是你的主人? 许多主机(包括Heroku,如果你使用的那些)不提供上传图像资产的能力。 您必须使用单独的服务,例如Amazon S3存储。 它简单又便宜。


1
投票

我使用Rails 4.2.4遇到了同样的问题。 默认情况下,Rails不会读取公共文件夹。 此信息存在于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

© www.soinside.com 2019 - 2024. All rights reserved.