XML => HTML с Hpricot и Rails
-
09-06-2019 - |
Вопрос
Я никогда не работал с веб-сервисами и rails, и, очевидно, это то, чему мне нужно научиться.Я решил использовать hpricot, потому что он отлично смотрится.В любом случае, _ почему было достаточно любезно привести следующий пример на веб-сайт 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
Который выглядит просто, элегантно и непринужденно.Отлично работает на Ruby, но мой вопрос таков:Как мне разбить это на rails?
Я экспериментировал с добавлением всего этого к одному контроллеру, но не смог придумать лучшего способа вызвать это в представлении.
Итак, если бы вы анализировали XML-файл из веб-API и печатали его в красивом чистом HTML с помощью Hpricot, как бы вы разделили активность по моделям, представлениям и контроллерам и что бы вы куда поместили?
Решение
Модель, модель, модель, модель, модель.Тонкие контроллеры, простые виды.
Модель RedHandedHomePage выполняет синтаксический анализ при инициализации, затем вызывает 'def render' в контроллере, устанавливает вывод в переменную экземпляра и выводит это в представлении.
Другие советы
Я бы, вероятно, выбрал подход REST и располагал ресурсами, которые представляют различные объекты внутри используемого XML-файла.У вас есть конкретный пример XML, который вы можете привести?