2012-08-24 75 views
1

我使用Rails 3.我試圖做到這一點在助手與多個部位做標記集合中的每個元素。這是行不通的,因爲HTML是由Rails保證安全的,這使得它不能像HTML一樣工作。content_tag使用CONCAT

如果我把它改成這樣:

def headers collection 
    collection.each do |col| 
    concat (content_tag(:th, col.short_name)) 
    end 
end 

這工作得更好。我在HTML中獲得正確的標記,但在此之前,我將所有標記HTML都安全。所以我覺得我很接近。

我知道還有其他方法可以做到這一點,但我想嘗試以正確的方式做到這一點。我錯過了什麼?

回答

1

您可以使用注入並以html_safe空字符串開始。

def headers collection 
    collection.inject("".html_safe) do |content, col| 
    content + (content_tag(:th, col.short_name)) 
    end 
end