Tim*_*ung 13 ruby-on-rails ruby-on-rails-4
我在公共文件夹中有一些图像,我/public/link/to/image.jpg在控制器中获取了url .我想在我的视图中显示它,所以我将url传递给视图.
但是如何在网页上显示呢?
我搜索了帖子,其中大部分与存储在assets文件夹中的照片有关,可以<%= image_tag image-url (filename) %>在视图中检索.
那么如何在视图中的公共文件夹中显示图像?
Jon*_*man 18
我刚刚在我的一个应用程序中测试了这个,将图像添加到公共文件夹,并且能够通过使用以下方式在视图中呈现它:
<img src="/your_image_file_name.png">
我以前从未通过公共文件夹完成它,但如果我不得不猜测我会说你不需要文件路径的"/ public"部分.
如果我理解这个问题,那应该这样做 - 希望有所帮助.
您也可以使用Rails-way via <%= image_tag("/path/to/file.jpg") %>
出于安全原因,image_tag只能查看内部/public,因此您不必/public在路径中指定- 它将自动添加.
备注 - 尝试始终将图像存储在子文件夹中,/public因为如果省略/public并简单地将图像文件名传递给image_tag,如果<%= image_tag("filename.jpg")%> < - 那么它将不会起作用(image_tag),在这种情况下它将会去搜索/assets/images文件夹.
行动解决方案:
这在 Rails 7 之前仍然有效。
假设您有两张图像asset_image.png,并public_image.png分别保存在/app/assets/images和 下/public。
您永远不需要在代码的文件路径中包含 /assets 或 /public。
图像保存在 /app/assets/images 下:
img_tag('asset_image.png') # <== No leading slash; Looks in assets
Run Code Online (Sandbox Code Playgroud)
直接保存在 /public 下的图像:
img_tag('/public_image.png') # <== Has a leading slash; Looks in Public
Run Code Online (Sandbox Code Playgroud)
您可以使用:
<%= image_tag('/link/to/image.jpg') %>
Run Code Online (Sandbox Code Playgroud)
如果您的图像位于public目录中,并且链接/到/子目录
如果它位于根公共文件夹中:
<%= image_tag('/image.jpg') %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20926 次 |
| 最近记录: |