2010-12-10 75 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