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 ...
Uno de los grandes beneficios de trabajar con una plataforma de desarrollo como es Ruby on Rails ...





