2

私は ::Builder::XmlMarkup を次のように使用しています:

 # This is a class method in /lib, run ascynchronously using delayed_job. 
 # Bunch of file io / header stuff, then... 
 books.each do |book|
        xml.Product do
          xml.RecordReference "com.domain-#{book.id}"
          xml.NotificationType book.notification unless book.notification.blank?
          xml.ProductIdentifier do
            xml.ProductIDType "15"
            xml.IDValue book.isbn unless book.isbn.blank?
          end
          book.productcodes.each do |productcode|
            unless productcode.idtype == "15"
              xml.ProductIdentifier do
                xml.ProductIDType productcode.idtype unless productcode.idtype.blank?
                xml.IDValue productcode.idvalue unless productcode.idvalue.blank?
              end
            end
          end
          xml.ProductForm book.format unless book.format.blank?
          xml.ProductFormDetail book.format_detail unless book.format_detail.blank?
          xml.ProductFormDescription book.format_description unless book.format_description.blank?

など 問題は、それがさらに 250 行続くことです。これは、ちょっとした要素でいっぱいの XML ファイルを作成する方法ですか? それはあまりRubyishではないようです。

4

0 に答える 0