3

从 Rails 3 升级到 4,现在图像资源没有在生产中显示。似乎 javascript 和 css 文件工作正常。

我已经尝试了https://github.com/capistrano/capistrano/wiki/Upgrading-to-Rails-4的步骤,但没有帮助。

我已经尝试删除我的 shared/assets 文件夹中的 json 文件和 yml 文件,但是一旦部署完成它仍然不显示图像。

如果我尝试在新选项卡中查看网站上的图像,我会收到“您要查找的页面不存在”。错误。

我试过这个:

Bundler.require(:default, Rails.env)

和这个:

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

在 config/application.rb 文件中。都不工作。

这是我的 config/environments/production.rb 文件中的内容:

config.serve_static_assets = false
config.assets.js_compressor = :uglifier
config.assets.compile = false
config.assets.digest = true
config.assets.version = '1.0'

Capfile:

load 'deploy'
load 'deploy/assets'
load 'config/deploy'

我究竟做错了什么?如何让图像在生产中显示?

4

2 回答 2

1

Rails 4 不再创建没有摘要的资产。因此,如果您直接(例如)引用资产(例如图像)/assets/whatever.jpg而在 URL 中没有摘要,您可能会收到 404。

non-stupid-digest-assets gem 将通过创建非摘要资产来解决这个问题:https ://github.com/alexspeller/non-stupid-digest-assets/tree/master

于 2016-12-11T07:14:02.497 回答
0

这都是我的坏事......我没有使用资产管道助手,现在它在咬我。当我切换到 image_tag("whatever.jpg") 时,它工作...

于 2013-06-27T21:35:00.227 回答