2010-12-10 52 views
0

我無法將span標籤添加到redmine項目菜單中。您可以在線路182附近的trunk/lib/redmine/menu_manager.rb下的redmine存儲庫中看到完整的代碼。這是我嘗試添加span標記的行。在軌道中向菜單中添加span標籤?

return content_tag('li', render_single_menu_node(node, caption, url, selected)) 

我嘗試添加一個span標籤是這樣的:

return content_tag('li', render_single_menu_node(node, content_tag(:span, caption), url, selected)) 

,但它呈現span標籤作爲這樣的瀏覽器文本:

<跨度>概述</SPAN >

'李'呈現得很好。有沒有辦法正確添加span標籤?

回答

0

看看這有助於:

span_tag = content_tag(:span, caption).html_safe 
return content_tag('li', render_single_menu_node(node, span_tag, url, selected)) 

默認情況下,content_tag將難逃任何HTML內容。您可以使用html_safe來防止字符串被轉義。

on Rails的2.3.x版本,沒有html_safe方法,但是你可以傳遞一個選項,content_tag告訴它不是逃避它的內容:

span_tag = content_tag(:span, caption, {}, false) 
return content_tag('li', 
        render_single_menu_node(node, span_tag, url, selected), 
        {}, 
        false) 
+0

我剛試過,但現在我越來越此錯誤:「未定義的方法'html_safe」爲「登錄」:String「。我不知道這是否重要,但我使用rails 2.3.5。 – amye 2010-12-11 04:22:54

+0

從它的外觀來看,它看起來並不像在rails 2.3.5中支持html_safe。而redmine只支持2.3.5版本。有沒有替代html_safe或其他工作? – amye 2010-12-11 05:12:20

+0

請參閱關於rails 2.3.x上信息的更新答案。 (N.B.我昨晚用這個信息添加了一條評論,但不知何故它消失了!) – bowsersenior 2010-12-11 18:43:45