要素を明示的に定義せずに xml ビルダーを使用しようとしています。これは、必要な要素がバリアントである場合に役立ちます。
次のようなことを達成するにはどうすればよいですか?
xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
for col in [:customer, :name, :address, :city, :street, :postal_code]
eval("xml.#{col.to_s.upcase}(#{self[col]})")
end
self[col] に ' または " がある場合、このコードは明らかに機能しません。また、eval を使用しないことをお勧めします。私はすでに試しました:
xml.send(col.to_s.upcase, self[col]