Frage

Ich habe noch nie mit Webdiensten und Schienen gearbeitet, und das ist natürlich etwas, das ich lernen muss.Ich habe mich für Hpricot entschieden, weil es großartig aussieht.Wie auch immer, _why war so nett, das folgende Beispiel zu liefern hpricot-Website:

 #!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

Das sieht schlicht, elegant und kinderleicht aus.Funktioniert großartig in Ruby, aber meine Frage ist:Wie kann ich das in Schienen aufteilen?

Ich habe damit experimentiert, dies alles einem einzigen Controller hinzuzufügen, konnte mir aber nicht vorstellen, wie ich es in einer Ansicht am besten benennen kann.

Wenn Sie also eine XML-Datei von einer Web-API analysieren und sie mit Hpricot in schönem, sauberem HTML drucken würden, wie würden Sie die Aktivität auf die Modelle, Ansichten und Controller aufteilen und was würden Sie wo platzieren?

War es hilfreich?

Lösung

Modell, Modell, Modell, Modell, Modell.Schlanke Controller, einfache Ansichten.

Das RedHandedHomePage-Modell führt die Analyse bei der Initialisierung durch, ruft dann „def render“ im Controller auf, setzt die Ausgabe auf eine Instanzvariable und gibt diese in einer Ansicht aus.

Andere Tipps

Ich würde wahrscheinlich einen REST-Ansatz wählen und über Ressourcen verfügen, die die verschiedenen Entitäten innerhalb der verbrauchten XML-Datei darstellen.Können Sie ein konkretes XML-Beispiel angeben?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top