Ruby on rails rails:图片不会显示在heroku上,但在本地工作
我的照片在本地显示,但推到Heroku后,它们没有显示 我试过不同的方法 这是图像标签:Ruby on rails rails:图片不会显示在heroku上,但在本地工作,ruby-on-rails,heroku,Ruby On Rails,Heroku,我的照片在本地显示,但推到Heroku后,它们没有显示 我试过不同的方法 这是图像标签: 奇怪的是,Rails中的目录树是这样的app/assets/images/ava.jpg,但是,如果我把这个(正确的)路径放进去,图像甚至不会在本地显示 预编译资产后,图像出现在public/assets/ava xteohutnbhueb.jpg中,这意味着它们在名称的末尾获得了额外的标记 当应用程序推送到heroku时,图像根本不会显示,无论是使用src=“/assets/ava.jpg”还是src
奇怪的是,Rails中的目录树是这样的app/assets/images/ava.jpg
,但是,如果我把这个(正确的)路径放进去,图像甚至不会在本地显示
预编译资产后,图像出现在public/assets/ava xteohutnbhueb.jpg
中,这意味着它们在名称的末尾获得了额外的标记
当应用程序推送到heroku时,图像根本不会显示,无论是使用src=“/assets/ava.jpg”
还是src=“/assets/images/ava.jpg”
为什么它们以错误的路径显示在本地,为什么不显示在Heroku上?首先,使用下面的命令对项目的所有预编译资产进行预编译
heroku run rake assets:precompile
<%= image_tag("ava.jpg") %>
然后使用下面的命令
heroku run rake assets:precompile
<%= image_tag("ava.jpg") %>
使用下面的命令,首先是项目的所有预编译资产
heroku run rake assets:precompile
<%= image_tag("ava.jpg") %>
然后使用下面的命令
heroku run rake assets:precompile
<%= image_tag("ava.jpg") %>
现在它们只显示编译图像的路径:assets/ava-teasuetnbkuena.jpg
而不是图片好吧,我现在得到了它,我把image\u标签
放在image\u路径
上,它就工作了。你想把你的评论写进一个答案中,这样我就可以把它标记为完整的吗?是的,我想。给我一点时间:)Vishal答对了,Heroku正在为静态资产的缓存版本提供服务,您需要对其进行预编译以破坏那些旧缓存。在推到heroku之前,使用rails assets:precompile
在本地预编译这些资产也是很常见的。现在它们只显示编译图像的路径:assets/ava-teasuetnbkuena.jpg
而不是图片好吧,很酷,我现在知道了,我把image\u标签
而不是image\u路径
放进去,它就工作了。你想把你的评论写进一个答案中,这样我就可以把它标记为完整的吗?是的,我想。给我一点时间:)Vishal答对了,Heroku正在为静态资产的缓存版本提供服务,您需要对其进行预编译以破坏那些旧缓存。在推到heroku之前,通常使用rails资产:precompile
在本地预编译这些资产。