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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top