Comment RedCloth un add à un form_for?
-
28-09-2019 - |
Question
Une embaressing question, mais je ne peux pas sembler traduire la documentation à une form_for réelle. Ceci est tout le site offre ..
RedCloth.new("Some text").to_html
#=> "<p>Some text</p>"
Je reçois que c'est ce que je parse après son été sauvés. Mais comment puis-je l'enregistrer sous forme de texte balisée?
Voici ma tentative au début, mais je ne sais pas comment régler le paramètre pour enregistrer le textarea comme RedCloth. Toutes les idées?
- form_for @text do |f|
# some RedCloth instantiation
f.submit
La solution
Vous ne pas enregistrer le paramètre analysé comme RedCloth comme ça, ni ce que je recommande. Dans l'analyse RedCloth entraînera la valeur initiale étant perdue, sauf si vous avez enregistré la sortie dans un champ alternatif, qui est ce que je serait recommander.
Vous pouvez utiliser un before_save
dans votre modèle pour analyser cette valeur et le stocker:
before_save :parse_text
# your model methods go here
private
def parse_text
self.parsed_text = RedCloth.new(text).to_html
end
Si vous voulez rendre la valeur parsed_text
à votre avis vous devrez dire Rails qu'il est sûr en faisant ceci:
@object.parsed_text.html_safe
Cependant, le code contenu ici ne compte pas pour les gens de mélange Markdown et HTML, alors très prudent lorsque vous l'utilisez.