2010-12-10 6 views
0

redmineプロジェクトメニューにspanタグを追加できません。 redmineリポジトリの完全なコードは、182行目のtrunk/lib/redmine/menu_manager.rbにあります。これは、私が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タグをレンダリング:

<スパン>概要< /スパンを>

'li'はうまくレンダリングされます。スパンタグを正しく追加する方法はありますか?

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

をデフォルトでは、content_tagは、任意のHTMLコンテンツをエスケープします:

答えて

0

は、このことができますかどうかを確認します。文字列がエスケープされないようにするには、html_safeを使用します。レール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 ':文字列"。これが問題なのかどうかわかりませんが、レール2.3.5を使っています。 – amye

+0

その外観から、html_safeがrails 2.3.5でサポートされているようには見えません。そしてredmineはバージョン2.3.5のみをサポートしています。 html_safeや他のいくつかの回避策がありますか? – amye

+0

rails 2.3.xに関する最新情報はこちらをご覧ください。 (N.B.私はその情報で昨夜コメントを追加しましたが、どういうわけかそれは消えました!) – bowsersenior

関連する問題