从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'
我做错了什么?如何让图像显示在制作中?
答案 0 :(得分:1)
Rails 4不再创建没有摘要的资产。因此,如果您直接引用资源(例如图片)(例如/assets/whatever.jpg
)而没有网址中的摘要,则可能会获得404。
non-stupid-digest-assets gem将通过创建非摘要资产来解决此问题:https://github.com/alexspeller/non-stupid-digest-assets/tree/master
答案 1 :(得分:0)
这都是我的坏事......我还没有使用资产管道助手,现在它正在咬我。当我切换到image_tag(" whatever.jpg")时,它正在工作......