我正在使用 Rails 3。我正在尝试在助手中执行此操作:
def headers collection
collection.each do |col|
content_tag(:th, col.short_name)
end
end
如您所见,这个想法是执行 content_tag 来<th>
为集合中的每个元素生成一个标签。这不起作用,因为 HTML 是由 Rails 提供的安全的,这使得它不能作为 HTML 工作。
如果我将其更改为:
def headers collection
collection.each do |col|
concat (content_tag(:th, col.short_name))
end
end
这效果更好。我在 HTML 中得到了正确的标记,但在此之前我得到了所有标记 HTML 安全。所以我认为我很接近。
我知道还有其他方法可以做到这一点,但我想尝试以正确优雅的方式做到这一点。我错过了什么?