2011-01-27 15 views
2

2つの変数(value1とvalue2)があり、いずれかがnilであるとします。XmlMarkupを使用して要素を作成し、nilでない属性のみを追加するにはどうすればよいですか?条件付き属性をBuilder :: XmlMarkupで追加する

私はこの

xm = Builder::XmlMarkup.new 
xm.item(:attribute1=>value1, :attribute2=>value2) 

とvalue1とvalue2の両方がnilある操作を行う場合、私はまだ

<item attribute1="", attribute2=""/> 

を取得し、私はまた、要素を作成した後に属性を追加しようとしましたが、まったく成功していなかったとこれがサポートされているのかどうかはわかりません。

私は完全なルビーの初心者ですので、どんな入力をいただければ幸いです。

答えて

4

私はこのような何かが仕事ができると思う:

xm = Builder::XmlMarkup.new 
attributes = {} 
attributes[:attribute1] = value1 if value1 
attributes[:attribute2] = value2 if value2 
xm.item(attributes) 

あなたは属性のカップルよりも多くを持っている場合、私はあなたにあまりにも同様の方法で重複を最小限にする方法を表示することができます。

+0

ありがとうございます。理にかなっている。 –

+0

問題ありません。喜んで助けてください。 – bobbywilson0

関連する問題