У меня есть хэш, как,
object = { :type => 'book', :name => 'RoR', :price => 33 }
OR
object = { :type => 'wig', :name => 'Elvis-Style', :price => 40, :color => 'black' }
Проблема в том, что ключи в приведенном выше хеше могут все время отличаться или даже увеличиваться и уменьшаться в зависимости от типа объекта.
Что я хочу сделать, чтобы сгенерировать XML для вышеуказанных хэшей, используя Xml::Builder
. Теги XML определяются keys
в хэше, а text
внутри тега является значением, соответствующим этому ключу.
Я могу использовать eval
, чтобы сделать это, как показано ниже. Однако я думаю, что должен быть лучший способ сделать это.
object.each do |key, text|
eval("xml.#{key.to_s} do
#{text}
end
")
end