2016-06-22 8 views
0

Ich versuche, Text + Bild + Text in HAML auszugeben. Ich weiß, dass ichKombinieren Bild und Text in HAML

=image_tag('some.png') + "text" 

tun kann, um den Text unmittelbar nach dem Bild zu haben. Aber wie kann ich etwas Text voranstellen?

="text" + image_tag('some.png') + "text" 

funktioniert nicht. Was ich bekomme, ist

text 
<img alt="" src="some.png" />text 

, die ein Leerzeichen zwischen dem ersten Text und dem Bild rendert. Ich würde eher

text<img alt="" src="some.png" />text 

Mein zweiter Versuch oben macht

text&lt;img alt=&quot;&quot; src=&quot;some.png&quot; /&gt;text 
+0

Was meinen Sie mit "funktioniert nicht"? Welchen HTML möchten Sie generieren und was bekommen Sie? – matt

+0

@matt siehe meine edit –

+0

'=" text "+ bild_tag ​​('some.png') +" text "' erzeugt 'text Some text' für mich. – matt

Antwort

2

Versuchen Sie, diese
View-Datei haben möchte:

%span 
    = "text".html_safe 
    = image_tag('/apple-icon-57x57.png') 
    = "text" 

CSS-Datei:

span img { display: inline; } 
+0

Nun, das bringt Bild und Text zusammen. Aber das Ganze ist jetzt in einem 'div' eingeschlossen, das einen neuen Absatz erzeugt. –

+0

@samad Danke. Dies löste das Problem :-) –

+0

Es sieht so aus, als ob der CSS-Zusatz nicht benötigt wird. –

0

Eine Lösung bestand darin, ein neues Bild mit den Texten und dem Bild zusammen zu rendern. Auf diese Weise erscheinen sie immer verbunden.