2013-04-19 3 views
6

Verwendung: Schienen 3.2.11 & Rubin 1.8.7Render html in label_tag in Rails 3.2.11 (html_safe, roh nicht funktioniert)

ich einige ernsthafte Problem habe versucht label_tag Ausgang html zu machen. Im Grunde läuft es nach unten zu:

<%= label_tag "This will <strong>not</strong> work!" %> 

ich versucht habe:

<%= raw label_tag "This will <strong>not</strong> work!" %> 
<%= label_tag raw "This will <strong>not</strong> work!" %> 
<%= label_tag "This will <strong>not</strong> work!".html_safe %> 
<%= (label_tag "This will <strong>not</strong> work!").html_safe %> 

ich den Edelstein 'rails_xss' installiert haben.

Nichts funktioniert!

Obwohl ich eine Menge verwandter Probleme mit HTML-Escaping finden kann, wo Leute Probleme mit rohen und html_safe nicht arbeiten, ist nichts mit label_tag verbunden. Ich kann das f.label nicht für dieses Problem verwenden.

Dies verwendet, um auf der gleichen Anwendung zu arbeiten, aber nach ein paar Updates (wo Rails 3.0.3 -> 3.2.11 war die wichtigste) funktionierte es nicht mehr. Ich habe nicht bemerkt, wann das passiert ist, also bin ich mir nicht sicher, was das Problem verursacht hat.

Können Sie replizieren? Hast du eine Lösung?

Antwort

7

Das Problem ist, dass das erste Argument zu label_tag der Markenname sein soll. Wenn Sie benutzerdefinierten Inhalt innerhalb des Tags anzeigen möchten, muss dies das zweite Argument sein.

http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-label_tag

Try this:

<%= label_tag "my label name", raw("This will <strong>not</strong> work!") %> 
+0

ich so etwas wie dies versucht (ohne Erfolg), aber offensichtlich nicht genau so, wie Sie geschrieben haben. Vielen Dank!! Es funktioniert nicht! – Christoffer

+0

Froh, es hat funktioniert! Viel Glück mit dem Rest Ihres Projekts. – mchail

+0

War im Begriff, ein Loch in die Wand zu schlagen, danke! – gregblass