2012-04-15 4 views
0

Ich benutze Ruby v.1.8.7 und Rails v.3.1.3, um eine Website zu erstellen, und ich lade den Text auf den Seiten aus einer Yml-Datei. Ich habe Text innerhalb eines <h3> Tags, aber ich möchte, dass der dritte Satz in einer separaten Zeile platziert wird, ohne eine explizite Überprüfung im HTML zu machen.Wie füge ich einen Zeilenumbruch in Text ein, der von yaml geladen wurde?

Zum Beispiel habe ich:

<h3><%= Settings.text_from_yml %></h3> 

meiner Meinung nach und text_from_yaml wie folgt aussieht:

This is the first sentence. This is the second. And lastly, the third.

in der yml Datei. Gibt es eine Möglichkeit, einen Zeilenumbruch in die Zeichenfolge innerhalb der XML-Datei zu platzieren, um sicherzustellen, dass der dritte Satz in einer eigenen Zeile ist? Ich habe versucht, <br /> vor der dritten Zeile platzieren, aber das gibt nur den Text „<br /> And lastly, the third.

ich auch

tun habe versucht
<h3><%= Settings.text_from_yml.html_safe %></h3> 

aber das hat nicht das tun, was ich wollte. Gibt es einen anderen Weg, dies zu erreichen?

Antwort

2
<h3><%= raw Settings.text_from_yml %></h3> 
+0

Leider scheint das nicht zu tun, was ich will. Es verhält sich genauso wie "html_safe" und gibt den Zeilenumbruch als String aus. –

+0

Alles klar, das war der Trick. Vielen Dank! –

+0

html_safe und rohe sind nicht gleich. html_safe umschließt die Zeichenfolge nur in ActiveSupport :: Safebuffer, anstatt die Zeichenfolge tatsächlich als sicher zu markieren. Hier ist eine gute Lektüre auf html_safe: http://techspry.com/ruby_and_rails/html_safe-and-helpers-in-rails-3-mystery-solved/ –