2013-05-22 15 views
5

Ciao ragazzi Sto costruendo un ruby ​​sull'applicazione rails utilizzando un semplice modulo e haml per le viste. Tuttavia ho notato un problema per quanto riguarda le forme che hanno textareas. Inizialmente non me ne sono accorto, ma quando salvo del testo in una textarea e lo metto in un tag pre, ho notato che ogni interruzione di riga è seguita da un numero di brutti spazi bianchi. Non sono sicuro che cosa sta succedendo qui. Quindi, se entro qualcosa di simile a quanto segue in una textarea:L'input da textarea ha strani spazi anteposti a ogni riga in forma semplice e haml

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

Emissione in un tag pre dà:

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

sono abbastanza perso qui - questo è il mio codice textarea di base - niente (aggiunto la tilde dopo aver sentito che sarebbe d'aiuto nella rimozione di spazi indesiderati - non ha funzionato affatto):

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

Anothe r osservazione: gli spazi non vengono visualizzati nell'area di testo se si esegue il rendering dell'area di testo utilizzando una forma semplice, tuttavia se eseguo manualmente il codice in un'area di testo per l'output dei contenuti, vengono visualizzati gli spazi. Questo potrebbe avere qualcosa a che fare con la gemma simpleForm?

+0

Ti andrebbe di preparare un applicazione Rails minimal che fa proprio questo e metterlo su github (o dovunque)? –

+0

Quando dici "l'output in un tag pre" significa che sta facendo ciò che StackOverflow fa emettendo il testo mentre lo stai scrivendo? I tuoi strumenti di sviluppo spiegano il margine? È a causa delle regole span12 o del codice input? – Trip

+0

Ho controllato e tutti gli spazi - span12 e input-code sono solo classi css - come possono avere un'influenza? – Ali

risposta

5

So che questo è un post molto vecchio, ma sono venuto qui in cerca di una soluzione per la stessa identica questione così ho pensato che sulla condivisione la soluzione che ho trovato su un altro link nel caso in cui qualcuno viene anche qui ...

Per me è successo sulla mia app Rails 5, che utilizza simple_form e HAML.

La ragione degli spazi supplementari è HAML, e al fine di evitare loro, è necessario aggiungere ai config/inizializzatori/haml.rb la seguente riga:

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

Ecco la fonte della mia risposta (controllare l'ultimo commento di adavia): https://github.com/haml/haml/issues/643

E nel caso, ecco l'elenco di opzioni HAML permette: http://haml.info/docs/yardoc/Haml/Options.html

Modifica

Questa opzione funziona anche:

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

Ho avuto spazi bianchi in textare vuoti generati dinamicamente dal bozzolo in una forma annidata (Rails 5, haml, simple_form, bozzolo). Seguendo la tua risposta risolvilo. Queste domande e commenti aiutano molto dopo che sono stati pubblicati! – Arta

+0

contento che abbia aiutato! – Marco

Problemi correlati