RoR: generando RSS
Un RSS o Really Simple Sindication o también Rich Site Summary, nos sirve para sindicar o anotar las actualizaciones de un sitio o algún otro objeto que nos interese saber sus actualizaciones o cambios que aparezcan al respecto del elemento. Por ejemplo puede servir para saber las ultimas respuestas de un tema, si se han agregado nuevas entradas a cierto elemento, etc.
En RoR siguiendo el MVC (modelo vista controlador), generar un RSS es generar una vista sobre los elementos que queremos sindicar indicando esta vista mediante el controlador.
Esta vista es consultada por los lectores de RSS que a diferencia de los navegadores, están checando la URL del RSS cada determinado tiempo para ver si existe alguna actualización sobre el archivo.
Lo que se necesita básicamente es tener una lista de los elementos y una forma de generar el XML con el formato especificado de un RSS, hacer esto en RoR es sencillo, sólo tienes que seguir estos tres pasos.
Primer paso, indicar en el controlador que se va a usar el formato atom, mediante format.atom { render :atom => @cosa }
def index @cosas = Cosa.rev_desc respond_to do |format| format.atom { render :atom => @cosas } end end
Segundo paso, crear un archivo llamado index.atom.builder en la carpeta de la vista del controlador en cuestión en este caso “views/cosas”, dentro del mismo, podemos agregar los elementos que deseemos respectivos en el body de cada elemento. El feed (RSS) costa de un título, la fecha de la última actualización y una lista de elementos que son las ultimas actualizaciones. También notar la diferencia entre la extensión “.erb” y la “.builder” esta última nos facilita la creación de archivos XML y se ve de la siguiente forma. Puedesver una específicación de los campos en esta referencia.
atom_feed do |feed| feed.title("Poner título") feed.updated(@cosas.first.created_at) @cosas.each do |cosa| feed.entry(cosa) do |entry| entry.title(cosa.name) entry.content(cosa.description, :type => "html") end end end
Tercer paso y final, necesitamos introducir entre las etiquetas
del HTML el link en donde se encuentra nuestro RSS para que lo puedan descrubrir y agregar los usuarios al visitar nuestro sitio desde su navegador o lector RSS.<head> <%= auto_discovery_link_tag :atom, formatted_cosas_path(:atom) %> </head>
Así se tiene un RSS completamente funcional.
Finalmente si quieres validar tu feed, lo puedes hacer mediante alguno de los validadores que listan aquí.
Quizá te interese :
Una de las opciones que existen para controlar el acceso de tu aplicación en RoR es authlogic el ...
Muchas ocasiones hemos tenido la necesidad de integrar información que está en otro sitio web de ...
Creación de un nuevo proyecto Rails para tu blog Antes de poder hacer cualquier cosa, tiene que ...








