【问题标题】:Rails image_tag not closing image tagRails image_tag 没有关闭图像标签
【发布时间】:2010-02-20 20:43:05
【问题描述】:

在 Rails 项目中,我使用 image_tag 生成图像 html 元素。

<%= image_tag("test.jpg", :alt => "test image") %>

正在生成

<img src="test.jpg" alt="test image">

这发生在我的整个 Rails 项目中。

是否有其他人设置的某个设置导致了这种情况? 如何让 rails 始终关闭图像标签?

【问题讨论】:

  • 我用谷歌搜索了一段时间,仍然找不到答案。
  • 您使用的是什么版本的 Rails。我的 Rails 2.3.2,MacOS 关闭它。
  • 技术上,HTML 中的img 标签不需要关闭。它们仅在 XHTML 中是必需的。

标签: ruby-on-rails image html-helper xhtml


【解决方案1】:

image_tag 是根据ActionView::Helpers::TagHelper.tag 实现的,它带有一个可选的第三个参数,表示是否关闭标签(为了符合XHTML)。默认情况下它是关闭的,但有些东西正在将你的设置为 true。不知道在哪里。你应该会说

 tag(:img, { :src => "test.jpg" }, false)

强制它。


注意使用:img 而不是"img":imgsymbol,基本上是一个只被创建一次的字符串。另一方面,每次调用tag 时都会创建一个新字符串"img",因此会消耗大量内存。

【讨论】:

  • Rails 3 使用了大量新的 HTML5 标准,在 HTML5 中,非关闭 是有效的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 1970-01-01
  • 2014-07-18
相关资源
最近更新 更多