J'utilise BlueCloth pour créer HTML à partir démarques à partir du contenu de mes utilisateurs entrent dans une zone de texte comme celui-ci:afficher démarquage dans mon textarea
def create
@post = Post.new(params[:post]) do |post|
body = BlueCloth.new(post.body)
post.body = body.to_html
end
...
end
Cela fonctionne très bien! Je reçois le html stocké dans la base de données bien, mais comment puis-je montrer markdown dans la zone de texte lorsque l'utilisateur édite? J'ai essayé:
def edit
@post = Post.find(params[:id])
@post.body = BlueCloth.new(@post.body)
@post.body.text
end
La sortie dans mon textarea ressemble:
#<BlueCloth:0x10402d578>
Yah c'est un bon point, je devrais faire cela pour l'instant. J'espérais renoncer à avoir à exécuter cette méthode sur le texte chaque fois qu'il rend en stockant simplement le code HTML après l'enregistrement. –
Vous soulevez un point intéressant. J'ai mis à jour ma solution avec un travail. – EmFi
Facultativement, vous pouvez stocker le code HTML généré dans une colonne distincte de votre tableau Post. – berkes