У меня проблема с файлом index.xml.builder для альбомов изображений;Я уверен, что это что-то простое, но это сводит меня с ума после того, как я не нашел решения в документации Builder :: XmlMarkup.Вот мой текущий вид:
xml.instruct!
xml.gallery {
@albums.each { |g|
xml.album(g.name, {:title => g.name,
:description => g.description,
:lgpath => "[PATH]",
:tnpath => "[PATH]",
:fspath => "[PATH]"})
g.pictures.each { |p|
xml.img nil, :src => "#{p.resource_file_name}"
}
}
}
Однако, это производит следующее:
<gallery>
<album title="..." description="..." lgpath="..." tnpath="..." fspath="..."></album>
<img src="17112.jpg"/>
<img src="17113.jpg"/>
<img src="17114.jpg"/>
<img src="17115.jpg"/>
<album...
Как вы можете видеть, я не могу получить изображения, вложенные в </album>
тег.Любые идеи, как это сделать?
Заранее спасибо.
ОБЗОР (Спасибо iain за то, что поставили меня на правильный путь):
Никогда не стоит недооценивать чтение исходного кода, в этом случае Builder :: XmlBase # method_missing.Решением было не передавать строку для содержимого тега (g.name).Это код, который мне был нужен:
xml.instruct!
xml.gallery do
@albums.each do |g|
xml.album(:title => g.name) do
g.pictures.each do |p|
xml.img(:src => p.resource_file_name)
end
end
end
end