Domanda

Non ho mai lavorato con servizi web e binari, e ovviamente questo è qualcosa che devo imparare.Ho scelto di utilizzare hpricot perché ha un bell'aspetto.Ad ogni modo, _why è stato così gentile da fornire il seguente esempio su sito 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

Che sembra semplice, elegante e facile da usare.Funziona alla grande in Ruby, ma la mia domanda è:Come posso suddividerlo nei binari?

Ho provato ad aggiungere tutto questo a un singolo controller, ma non sono riuscito a pensare al modo migliore per chiamarlo in una vista.

Quindi, se analizzassi un file XML da un'API Web e lo stampassi in un HTML pulito e gradevole con Hpricot, come suddivideresti l'attività su modelli, visualizzazioni e controller e cosa inseriresti dove?

È stato utile?

Soluzione

Modello, modello, modello, modello, modello.Controller ridotti, visualizzazioni semplici.

Il modello RedHandedHomePage esegue l'analisi al momento dell'inizializzazione, quindi chiama "def render" nel controller, imposta l'output su una variabile di istanza e lo stampa in una vista.

Altri suggerimenti

Probabilmente opterei per un approccio REST e disporrei di risorse che rappresentano le diverse entità all'interno del file XML da consumare.Hai un esempio specifico di XML che puoi fornire?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top