2012-12-28 11 views
8

Wie würde ich Benutzern erlauben, mehrzeiligen Text in einem text_area Formularfeld einzugeben?Wie erlaube ich mehrzeiligen Inhalt in einem rails text_area Feld?

Zur Zeit wird immer Inhalt in text area eingegeben, die Zeilenumbrüche werden entfernt ... Sie werden beibehalten, wenn ich den Inhalt bearbeite ... Also, vielleicht ist es in der Show-Ansicht, dass die Pausen entfernt werden?

Ich habe ein paar Dinge gefunden, die darauf hinweisen, dass ich einen WYSIWYG-Editor implementieren müsste, aber ich würde das lieber vermeiden, wenn möglich.

Irgendwelche Vorschläge?

UPDATE: Also, es ist wie Schienen sieht speichert den Inhalt mit Zeilenumbrüchen und ich kann in der Show-Ansicht (d <%= @post.post.html_safe %>) .html_safe zum Feld hinzufügen. Jetzt wird es Inhalt mit grundlegendem HTML präsentieren (zB <br>, <b>, etc ...) aber immer noch nicht die Zeilenumbrüche im Inhalt (dh wenn ich Enter für eine neue Zeile drücke), die von Rails gespeichert werden und ich kann Ansicht, wenn ich den Inhalt bearbeite.

+0

A TextArea- hat nichts Rails spezifisch. Html ist html – apneadiving

Antwort

11

Zeilenumbrüche werden nicht in HTML gerendert. Sie möchten etwas wie simple_format oder wraptext auf Ihrem Inhalt verwenden, während Sie es ausgleichen, um Zeilenumbrüche in <br> oder <p> Tags zu konvertieren.

<%=simple_format(@post.post).html_safe %> 

oder

<%=Wraptext::Parser.new(@post.post).to_html.html_safe %> 
+0

Ok, ich werde das überprüfen ... Danke Chris! –

+0

'simple_format' hat': sanitize' standardmäßig aktiviert, so dass '.html_safe' redundant ist. –

+0

Großartig, 'simple_format' und' html_safe' sind genau das, wonach ich suche, danke Chris. – mainframer

Verwandte Themen