在公用文件夹中显示静态图像(rails 4)

时间:2014-10-19 03:27:40

标签: ruby-on-rails ruby-on-rails-4

我在公共文件夹中有一些图像,我在控制器中获取了网址/public/link/to/image.jpg。我想在我的视图中显示它,所以我将url传递给视图。

但是如何在网页上显示呢?

我搜索了帖子,其中大部分与存储在assets文件夹中的照片有关, 可以通过<%= image_tag image-url (filename) %>在视图中检索。

那么如何在视图中的公共文件夹中显示图像?

3 个答案:

答案 0 :(得分:17)

我刚在我的一个应用程序中对此进行了测试,将图像添加到公共文件夹,并且能够通过使用以下方式在视图中呈现它:

<img src="/your_image_file_name.png">

我以前从未通过公共文件夹进行过,但如果我不得不猜测我说你不需要&#34; / public&#34;文件路径的一部分。

如果我理解这个问题,那应该这样做 - 希望有所帮助。

答案 1 :(得分:5)

您也可以通过<%= image_tag("/path/to/file.jpg") %>

使用Rails-way

出于安全原因,image_tag只能查看/public内部,因此您不必在路径中指定/public - 它会自动添加。

备注 - 请始终将图片存储在/public中的子文件夹中,因为如果您省略/public并将图片文件名传递给{{},则图片标签将无效1}},类似于&lt;%= image_tag(&#34; filename.jpg&#34;)%&gt; &lt; - 在这种情况下,它将搜索image_tag文件夹。

解决方案:

  1. enter image description here

  2. enter image description here

答案 2 :(得分:3)

您可以使用:

<%= image_tag('/link/to/image.jpg') %>

如果您的图片位于public目录中,则链接/指向/ subdirs

如果它位于root公共文件夹中:

<%= image_tag('/image.jpg') %>