html - Ruby on Rails : Show picture in html in html. erb 文件

标签 html ruby-on-rails

我的 Ruby on Rails 网站上需要一张可拖动的图片,一切正常,只是图片不显示。

这是图片及其属性的代码:

<img id="drag1" src="/images/img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">

如果我这样写,图片会显示:

<%= image_tag("img_logo.gif") %>

我的问题:我需要在上面的代码中插入什么,才能显示我的图片 (img_logo.gif)?

图片本身位于:/app/assets/images/img_logo.gif

写入此代码的文件是一个 html.erb 文件。

我还没有安装任何像 paperclip 或 imagemagick 这样的 gem。

编辑:感谢 Meagar 和 Vic,这会起作用:

要么这样:

<%= image_tag('img_logo.gif', draggable: "true", id: "drag1") %>

或者这个:

<img id="drag1" src="<%= asset_path('img_logo.gif') %>" draggable="true" ondragstart="drag(event)" width="336" height="69">

最佳答案

如果<img id="drag1" src="/images/img_logo.gif"正在工作,那么图像在您的 Assets 管道中,它在 public/images 中.

如果图像在您的 Assets 管道中,位于app/assets/images/img_logo.gif , 那么它的正确 URL 将是 /assets/img_logo.gif .

您拥有的代码,image_tag("img_logo.gif") 是正确的,因为它将输出正确的 URL /assets/img_logo.gif ,假设图像在您所说的位置,并且您没有更改有关 Assets 管道的任何设置。您可以使用 /images/img_logo.gif 成功请求图像这一事实告诉我情况并非如此,您没有准确描述您的情况。


关于您的评论:

Thanks for your answer: It works, when I typed this in: <img id="drag1" src="/assets/img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">

不要那样做

我认为您向后传达了正在发生的事情。我明白 <img src="/images/img_logo.gif"正在工作,那image_tag失败了。我现在看到 image_tag一直在工作,但您试图弄清楚如何向 id="drag1" draggable=true 提供额外的属性(<img> 等)正在输出标签。

您不能像这样硬编码 Assets 路径。它将在开发中工作,但 Assets URL 在生产中不同,您的网站将停止工作。

要实现您的目标,您可以将属性传递给您的 image_tag助手,或者你可以使用 asset_path在您的 HTML 标记中:

要么这个...

<%= image_tag('img_logo.gif', draggable: "true", id: "drag1") %>

或者这个...

<img id="drag1" src="<%= asset_path('img_logo.gif') %>" draggable="true" ondragstart="drag(event)" width="336" height="69">

但是不要使用这个:

<img id="drag1" src="/assets/img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">

关于html - Ruby on Rails : Show picture in html in html. erb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34420549/

相关文章:

html - 移动设备的响应式订单确认电子邮件?

css - HTML 和 CSS : 2 DIVS on left, 右侧 1 个独立的 DIV

ruby-on-rails - 在这种情况下 OAuth 是否矫枉过正?

ruby-on-rails - Haml中if/else语句的语法-意外的关键字else?

ruby-on-rails - openid.ui.mode 使用 rails 的 openid_authentication 插件

html - 段落中的 "text-indent"如何申请?

html - 相同的 css,相同的 div,看起来不同

ruby-on-rails - Rails、Ffmpeg 和 Heroku:Errno::ENOENT:没有这样的文件或目录 - 找不到 ffprobe 二进制文件

c# - 如何在 C# 电子邮件中将正文格式设置为 HTML

css - Less::错误/无法识别的输入 - twitter-bootstrap-rails