2010-10-04 24 views
1

Voici ma situation. J'essaie de créer un flux rss valide pour un podcast iTunes à partir d'un projet existant. C'est une application de rails qui permet de télécharger des émissions de radio mp3 pour écouter sur le site. Je veux prendre toutes les entrées dans la base de données et créer un flux RSS. J'utilise un fichier de construction et tout fonctionne bien. J'ai remarqué cependant qu'il y a des balises html stockées dans la base de données à partir d'un éditeur de texte. par exemple, les balises fortes et les balises span sont placées à l'intérieur de mon xml lorsque le flux est sorti. Existe-t-il un moyen de supprimer ces éléments dans le contrôleur ou dans le générateur xml?Comment supprimer les balises html de xml générées par builder dans les rails

Mon contrôleur:

class PodcastsController < ApplicationController 
    def index 
    @podcasts = Event.find(:all, :order => "date DESC", :conditions => ['radio = ?', 1]) 
     respond_to do |format| 
     format.xml 
    end 
    end 

end 

Répondre

0

Si les balises sont très simples, vous pouvez simplement utiliser une expression régulière pour les dépouiller. Par exemple:

"<html>Hello <b>world</b>.</html>".gsub(/<.+?>/, '') 
=> "Hello world." 

Si c'est plus complexe que cela, il peut être judicieux de le charger dans nokogiri et extraire les nœuds de texte.