使用Builder的XML标签

时间:2013-09-04 02:50:03

标签: ruby-on-rails ruby xml

我目前正在为房地产应用构建XML导出。在Rails中使用Builder gem。我正在寻找一种方法来做到以下几点:

<commercialRent>
  "commercialRent figure"
  <range>
    ...
  </range>
</commercialRent>

我似乎无法找到实现“Text Goes Here”部分的方法

我的代码:

b.commercialRent(period: "annual", plusOutgoings: self.plus_outgoings) {  
      self.rent_price;
        b.range { 
          b.min(self.rent_psm_pa_min); 
          b.max(self.rent_psm_pa_max)
      };
    };

返回:

<commercialRent period="annual" plusOutgoings="no">
  <rentPerSquareMeter>
    <range>
      <min>1000</min>
      <max>10000</max>
    </range>
  </rentPerSquareMeter>
</commercialRent>

除了self.rent_price之外,所有内容都打印得很好。 我无法理解。

1 个答案:

答案 0 :(得分:0)

您使用text! method生成文本节点:

  

- (对象)文字!(文字)

     

将文本附加到输出目标。逃避任何标记。可以在标记括号中使用:

builder.p { |b| b.br; b.text! "HI" }   #=>  <p><br/>HI</p>

所以这样的事情应该可以解决问题:

b.commercialRent(period: "annual", plusOutgoings: self.plus_outgoings) do
  b.text! self.rent_price
  #...
end