Question

J'ai avec RedCloth sauvé le texte brut sous une forme et converti en HTML. Par exemple, écrire dans ma forme, et l'enregistrer, ferait afficher exactement la même manière je l'ai écrit:

This sentence
gets inserted into it
proper html syntax
to preserve line breakage.

Avec ce code:

def parse_code
  self.text = RedCloth.new(text).to_html
end

Et puis je peux réafficher avec ceci:

= raw post.text

Mais quand je veux le modifier, il retourne à moi comme:

<p>This sentence</p>
<p>gets inserted into it</p>
<p>proper html syntax</p>
<p>to preserve line breakage</p>

Comment puis-je faire, de sorte que quand je le modifier, il semble la même manière qu'il a fait avant que je suis allé et a sauvé?

Merci!

Était-ce utile?

La solution

Je laisserais le code textile stocké dans le textile et faire la conversion en HTML uniquement dans la vue:

= raw RedCloth.new(@post.text).to_html

Conversion entre textile et HTML ne se sent pas comme une bonne pratique. Votre méthode parse_code semble que cela a causé votre texte à convertir en HTML .. et que stocké dans le Db.

Toutefois, si vous voulez convertir le HTML en textile, peut-être clothred est pour vous ou lisez ce blog .

Autres conseils

Modifier : Pousse! J'ai mal compris la question!

Vous souhaitez assignez que le dos de la valeur de la zone de texte à l'aide textile ClothRed :

ClothRed.new(html).to_textile

Désolé!

Si je vous comprends bien, vous stockez la sortie HTML dans la base de données. Au lieu de le faire, stocker le contenu textiles premières puis les convertir en HTML en montrant à l'utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top