Ruby on Rails forma f.text_area contiene spazi aggiuntivi
-
25-09-2019 - |
Domanda
Ho una forma piuttosto media in Rails, attraverso blog_kit
<% form_for(@blog_post, :html => { :multipart => true }) do |f| %>\
... other code
<%= f.text_area :body %>
<%= debug(@blog_post) %>
Quando si modifica un blog-post, il corpo contiene improvvisamente spazi supplementari (contrassegnate come _ di visualizzare):
...sit amet eleifend diam imperdiet pharetra.
__
__## FOO?
__Morbi nec
Perché una textarea è lo spazio-aware, mostrerà gli spazi. Su aggiornamento, vengono aggiunti al database.
Questi spazi non sono nel database (prima che l'aggiornamento difettoso: di cui sopra, che è). Né il modello BlogPost.find (1) non contiene questi spazi.
script/console » b = BlogPost.find(1)
» puts b.body
...sit amet eleifend diam imperdiet pharetra.
## FOO?
Morbi nec
Sembra una logica aggiunge gli spazi, dopo il recupero del database, ma prima del rendering in forma parziale. I candidati sono:
- BlueCloth. Ho che ha permesso, ma non riesco a trovare un posto dove sarebbe collegare nel processo di caricamento, e alterare il corpo prima del rendering nella textarea
- HAML. Il _form.html.rb parziale non è (ancora) migrati _form.haml, quindi immagino Dettaglio HAML lontano da questo pezzo. Ma potrebbe essere parte del problema?
Non so dove cominciare a guardare, in modo che qualsiasi accenno sarebbe molto benvenuto.
Soluzione
Questo è un problema HAML. Vedere http://haml-lang.com/docs/yardoc/ file.FAQ.html # q-preservare
Nel mio caso la mia forma non era ancora convertito in HAML (come te), ma ho avuto l'application.html.haml convertito. Sembra che HAML fa alcune rientro anche a parziali che non sono in formato HAML.