我在公共文件夹中有一些图像,我在控制器中获取了网址/public/link/to/image.jpg
。我想在我的视图中显示它,所以我将url传递给视图。
但是如何在网页上显示呢?
我搜索了帖子,其中大部分与存储在assets文件夹中的照片有关,
可以通过<%= image_tag image-url (filename) %>
在视图中检索。
那么如何在视图中的公共文件夹中显示图像?
答案 0 :(得分:17)
我刚在我的一个应用程序中对此进行了测试,将图像添加到公共文件夹,并且能够通过使用以下方式在视图中呈现它:
<img src="/your_image_file_name.png">
我以前从未通过公共文件夹进行过,但如果我不得不猜测我说你不需要&#34; / public&#34;文件路径的一部分。
如果我理解这个问题,那应该这样做 - 希望有所帮助。
答案 1 :(得分:5)
您也可以通过<%= image_tag("/path/to/file.jpg") %>
出于安全原因,image_tag
只能查看/public
内部,因此您不必在路径中指定/public
- 它会自动添加。
备注 - 请始终将图片存储在/public
中的子文件夹中,因为如果您省略/public
并将图片文件名传递给{{},则图片标签将无效1}},类似于&lt;%= image_tag(&#34; filename.jpg&#34;)%&gt; &lt; - 在这种情况下,它将搜索image_tag
文件夹。
解决方案:
答案 2 :(得分:3)
您可以使用:
<%= image_tag('/link/to/image.jpg') %>
如果您的图片位于public
目录中,则链接/指向/ subdirs
如果它位于root公共文件夹中:
<%= image_tag('/image.jpg') %>