Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails:图片不会显示在heroku上,但在本地工作_Ruby On Rails_Heroku - Fatal编程技术网

Ruby on rails rails:图片不会显示在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

我的照片在本地显示,但推到Heroku后,它们没有显示

我试过不同的方法

这是图像标签:


奇怪的是,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
在本地预编译这些资产。