Вызов to_xml для массива объектов ROXML приводит к пустой коллекции - PullRequest
0 голосов
/ 22 мая 2010

У меня есть объект ROXML, который выглядит следующим образом:

class Activity
  include ROXML
  xml_accessor :id
end

Если у меня есть массив этих объектов и я вызываю .to_xml в массиве, я получаю пустую коллекцию XML:

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<activities type=\"array\">\n</activities>\n"

Есть идеи, почему или как это исправить?

Я использую Rails 2.3.5 с новейшей версией ROXML.

1 Ответ

0 голосов
/ 23 мая 2010

Аналогичный вопрос: Ruby ROXML - как получить массив для отображения его xml? . Смотрите там для деталей.

Кажется, что невозможно преобразовать массив с использованием ROXML. Один из способов решить эту проблему - определить новый класс для коллекции:

class Activities
  include ROXML
  def initialize(activities) 
    @activities = activities 
  end
  xml_reader :activities, :as => [Activity]
end

И использовать:

Activities.new(activities).to_xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...