@post.body
a le contenu suivant (qui est converti à partir de Markdown en utilisant RDiscount) .Comment dois-je le rendre à l'utilisateur dans ce que cela signifie? je veux le rendre en texte fort texte souligné ...
<p><strong>strong text</strong> </p> <p><em>emphasized text</em> </p> <blockquote> <p>this is a quote</p> </blockquote><p><img src="http://www.picturehouse.com/titles/images/rock.jpg" alt="alt text" title="" /> </p>
L'utilisation de <%= @post.body =>
ne l'affichera que comme le texte ci-dessus.
En supposant que Rails 3, utilise la méthode raw helper, par ex.
<%= raw(@post.body) %>
L'échappement de la sortie HTML est activé par défaut dans tous les modèles de vue (contrairement aux versions précédentes dans lesquelles vous deviez utiliser la méthode h
pour échapper des chaînes individuellement.)
Utilisez-vous Rails 3? Il échappe automatiquement à tout le contenu des balises <%= %>
. Pour l'éviter, faites
<%= raw(@post.body) %>
Je suppose que vous êtes dans Rails 3? Un gros changement est que le texte affiché était brut par défaut et que vous deviez le nettoyer vous-même. Maintenant, c'est l'inverse. Appelez ça comme ça:
<%= raw(@post.body) %>
Et vous obtiendrez ce que vous cherchez.
<%== @post.body %>
Plus d'information
<%== @post.body ==>
est un alias de<%= raw(@post.body) ==>
https://edgeguides.rubyonrails.org/active_support_core_extensions.html#output-safety