Rails image_tag未关闭图像标记

Mik*_*ace 3 xhtml html-helper ruby-on-rails image

在rails项目中,我使用image_tag生成我的图像html元素.

<%= image_tag("test.jpg", :alt => "test image") %>
Run Code Online (Sandbox Code Playgroud)

正在产生

<img src="test.jpg" alt="test image">
Run Code Online (Sandbox Code Playgroud)

这在整个rails项目中都会发生.

是否有其他设置导致此设置的设置?如何让rails始终关闭图像标签?

Phi*_*ley 6

image_tag是根据ActionView :: Helpers :: TagHelper.tag实现的,它采用可选的第三个参数来表示是否关闭标记(对于XHTML兼容性).默认情况下它已关闭,但有些东西会将您设置为true.不知道在哪里.你应该可以说

 tag(:img, { :src => "test.jpg" }, false)
Run Code Online (Sandbox Code Playgroud)

迫使它.


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

  • Rails 3使用了很多新的HTML5标准,而在HTML5中,非结束<img>是有效的. (5认同)