2010-11-23 8 views
5

i ont une page de liste d'articles, il suffit de présenter une information sur le contenu de cette Artile, si je n'utilise quecomment obtenir un extrait de texte sur des rails?

truncate @article.content,:length=>100 

il affichera une balise html, et ne montre pas le contenu vraiment à l'utilisateur, de sorte Je veux trouver un moyen d'obtenir l'extrait de texte à partir du contenu, donc je veux demander est-il un moyen intégré pour y parvenir?

Répondre

7

Vous pouvez utiliser strip_tags pour enlever les balises html:

truncate(strip_tags(@article.content), :length=>100) 
0
  1. Toutes les chaînes sont en RoR3 assainis par défaut la conversion des caractères spéciaux dans des entités html.
  2. Si vous souhaitez conserver des données de présentation de l'utilisateur (comme la mise en forme sur un billet de blog), vous pouvez utiliser une lib comme Nokogiri pour valider la tronquée HTML, quelque chose le long des lignes. =

    def html_preserving_truncate(data); html = truncate(data, lenght: 100); Nokogiri::HTML.fragment(html).to_s; end

Questions connexes