在一个 Rails 项目中,我使用 image_tag 来生成我的图像 html 元素。
<%= image_tag("test.jpg", :alt => "test image") %>
正在产生
<img src="test.jpg" alt="test image">
这在我的整个 Rails 项目中都在发生。
是否有其他人设置的某处设置导致了此问题? 如何让 Rails 始终关闭图像标签?
最佳答案
image_tag 是根据 ActionView::Helpers::TagHelper.tag 实现的它采用可选的第三个参数,说明是否关闭标签(为了符合 XHTML)。默认情况下它是关闭的,但有些东西将你的设置为 true。不确定在哪里。你应该可以说
tag(:img, { :src => "test.jpg" }, false)
强制它。
请注意使用 :img
而不是 "img"
。 :img
是 symbol ,这基本上是一个只创建一次的字符串。另一方面,每次调用 tag
时都会创建一个新字符串 "img"
,因此会消耗大量内存。
关于ruby-on-rails - Rails image_tag 没有关闭图像标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303652/