html - <img src =""> 不接受图像路径

标签 html ruby-on-rails ruby-on-rails-4 path paperclip

我的 app/assets/images/ 中有一张图片名为“Flower.jpg”的文件夹。 <%=image_tag("Flower.jpg")%>可以显示它,但我想用 html 显示它。 <img src="Flower.jpg">什么都不做。

对于我的模型用户,我还使用 Paperclip,它将图像存储在 public/system/users/avatars/000/000 中, 和 User.avatar_file_name返回绝对文件路径,在本例中为:/system/users/avatars/000/000/157/thumb/Flower.jpg?1248273956 .像这样将此路径插入 src:<img src="<%=@user.avatar_file_name%>">用于显示图像。

我在我的 rails 控制台中找到了 Flower.jpg 的绝对路径:

> helper.image_tag("Flower.jpg")
=> "<img alt=\"Flower\" src=\"/assets/Flower.jpg\" />

然后 <img src="/assets/Flower.jpg\">不显示,即使 <img src="/system/users/avatars/000/000/157/thumb/Flower.jpg?1248273956">做。这是为什么?

最佳答案

image_tag帮助程序将标准图像文件夹的路径添加到文件路径中。在我的 Rails 版本中,这是“/images/”,所以这个

<%=image_tag("Flower.jpg")%>

呈现为

<img src="/images/Flower.jpg">

对于所有这样的资源路径,实际文件应该是相对于您的应用程序的公共(public)文件夹,即

<RAILS ROOT>/public/images/Flower.jpg

在您的 rails 版本中,默认路径似乎是 /app/assets/images/ , 所以这个

<%=image_tag("Flower.jpg")%>

呈现为

<img src="/app/assets/images/Flower.jpg">

指向这个文件:

<RAILS ROOT>/public/app/assets/images/Flower.jpg

如果你这样做

<img src="Flower.jpg">

它期望文件位于 <RAILS ROOT>/public/Flower.jpg 中,显然它不存在,所以 img 标签将不起作用。如果你想自己写出来,而不使用帮助器,那么从 <RAILS ROOT/public 给出文件的路径。文件夹,即

<img src="/app/assets/images/Flower.jpg">

顺便说一句,在你放置的 html 片段中 scr="而不是 src="这将进一步破坏它。

关于html - <img src =""> 不接受图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370617/

相关文章:

javascript - 从一个html页面点击获取链接id并将其发送到另一个页面

html css div 宽度与子表无关

jquery - 从 HTML5 拖放和 jquery 获取完整文件路径

mysql - 我应该如何避免sql注入(inject)?

javascript - 使用 JavaScript 获取提交时的单选按钮值

ruby-on-rails - 使用 gmaps4rails 动态加载谷歌地图标记

ruby - 编写正则表达式作为 gsub 的参数!方法——难倒?

ruby-on-rails-4 - `params.require(:person).permit(:name, :age)` 在 Rails 4 中做什么?

php - 表单字段为空然后从数据库中检索到的输入值为 0

javascript - 如何根据链接点击动态填充部分内容?