2013-05-22 15 views
5

Hallo Jungs Ich baue eine Ruby on Rails-Anwendung mit einfachen Form und Haml für die Ansichten. Allerdings habe ich ein Problem in Bezug auf Formulare mit Textareas bemerkt. Ich habe es zuerst nicht bemerkt, aber wenn ich etwas Text in einem Textarea speichere und es in einem Pre-Tag ablege, merke ich, dass hinter jedem Zeilenumbruch eine Reihe hässlicher weißer Leerzeichen steht. Ich bin mir nicht sicher, was hier passiert. Also, wenn ich so etwas wie die folgend in einem Textfeld eingeben:Eingabe von Textarea hat seltsame Leerzeichen an jede Zeile in einfacher Form vorangestellt und haml

THIS IS ONE LINE 
THIS IS ANOTHER LINE 
THIS SHOULD NOT BE INDENTED 
    THIS SHOULD BE INDENTED BY TWO SPACES 

Ausgabe in einen Pre-Tag gibt:

THIS IS ONE LINE 
    THIS IS ANOTHER LINE 
    THIS SHOULD NOT BE INDENTED 
    THIS SHOULD BE INDENTED BY TWO SPACES 

ich hier ziemlich bin verloren - das ist mein Grund TextArea- Code - nicht viel (hinzugefügt, um die Tilde nach Anhörung, dass es bei der Beseitigung von unerwünschten Räumen helfen würde - hat nicht funktioniert überhaupt):

~f.input :details, :label=>false, :input_html=>{:class=>'span12 input-code', :rows=>40} 

Anothe r Beobachtung - die Leerzeichen erscheinen nicht im Textbereich, wenn ich den Textbereich mit einem einfachen Formular rendere - wenn ich jedoch manuell ein Textfeld einfüge, um den Inhalt auszugeben, werden die Leerzeichen angezeigt. Könnte das etwas mit dem SimpleForm-Juwel zu tun haben?

+0

Wollen Sie eine minimale Rails-Anwendung herzustellen, die genau dies tut und es auf Github (oder wo auch immer)? –

+0

Wenn Sie sagen, "Ausgabe in einem Pre-Tag" bedeutet das, dass Sie tun, was Stackoverflow macht, indem Sie den Text ausgeben, während Sie ihn schreiben? Erläutern Ihre Entwickler-Tools die Marge? Ist es wegen Ihrer span12 oder Eingabe-Code-Regeln? – Trip

+0

Ich habe überprüft und alle Leerzeichen - die Span12 und Eingabe-Code das sind nur CSS-Klassen - wie können sie einen Einfluss haben? – Ali

Antwort

5

Ich weiß, dass dies eine sehr alte Post, aber ich kam hier auf der Suche nach einer Lösung für das exakt gleiche Problem, so dachte ich, die Lösung auf dem Austausch ich auf einem anderen Link, falls jemand gefunden auch hier komme ...

Für mich geschah dies in meiner Rails 5 App, die simple_form und HAML verwendet.

Der Grund der zusätzlichen Räume ist HAML, und um sie zu vermeiden, müssen Sie die config/initializers/haml.rb die folgende Zeile hinzufügen:

Haml::Template.options[:remove_whitespace] = true 

Hier ist die Quelle meiner Antwort (überprüfen Sie die letzten Kommentar von adavia): https://github.com/haml/haml/issues/643

Und für den Fall, hier ist die Liste der Optionen HAML erlaubt: http://haml.info/docs/yardoc/Haml/Options.html

bearbeiten

Diese Option funktioniert auch:

Haml::Template.options[:ugly] = true 
+0

Ich hatte weiße Leerzeichen in leeren Textfeldern dynamisch durch Kokon in einer verschachtelten Form (Rails 5, haml, simple_form, Kokon) generiert. Nach Ihrer Antwort wurde es behoben. Diese Fragen und Kommentare helfen lange nachdem sie gepostet wurden! – Arta

+0

froh, dass es geholfen hat! – Marco

Verwandte Themen