XML => HTML con Hpricot y Rails
-
09-06-2019 - |
Pregunta
Nunca he trabajado con servicios web y rieles y obviamente esto es algo que necesito aprender.Elegí usar hpricot porque luce genial.De todos modos, ¿por qué ha sido tan amable de proporcionar el siguiente ejemplo sobre el sitio web hpricot:
#!ruby
require 'hpricot'
require 'open-uri'
# load the RedHanded home page
doc = Hpricot(open("http://redhanded.hobix.com/index.html"))
# change the CSS class on links
(doc/"span.entryPermalink").set("class", "newLinks")
# remove the sidebar
(doc/"#sidebar").remove
# print the altered HTML
puts doc
Que parece simple, elegante y fácil.Funciona muy bien en Ruby, pero mi pregunta es:¿Cómo divido esto en rieles?
Experimenté agregando todo esto a un solo controlador, pero no se me ocurrió la mejor manera de llamarlo en una vista.
Entonces, si estuviera analizando un archivo XML desde una API web y imprimiéndolo en un HTML limpio y agradable con Hpricot, ¿cómo dividiría la actividad entre los modelos, vistas y controladores, y qué colocaría y dónde?
Solución
Modelo, modelo, modelo, modelo, modelo.Controladores delgados, vistas simples.
El modelo RedHandedHomePage realiza el análisis durante la inicialización, luego llama a 'def render' en el controlador, establece la salida en una variable de instancia e imprime eso en una vista.
Otros consejos
Probablemente optaría por un enfoque REST y tendría recursos que representaran las diferentes entidades dentro del archivo XML que se está consumiendo.¿Tiene un ejemplo específico del XML que pueda dar?