2010-01-14 50 views
3

我正在構建一個生成動態xml的工具。因此,我的模型具有相當通用的名稱:因此,當我從項目控制器構建xml時,項目節點名稱是xml的根節點。但我不希望它被稱爲「項目」。我希望節點是@ project.params ['name']的值。在Ruby的Builder中自定義節點名稱

我遇到的問題是,生成器的結構使這個困難......當我這樣做:

xml.project do 
    ~some code 
end 

...它總是要創建「項目」作爲根節點名稱。我無法找到一種方法來重寫它以使用不同的名稱。我希望像下面這樣的工作:

xml.send(@project.params.name) { 
    ...some code 
} 

..但顯然不工作。所以我基本上試圖找到一種方法來別名在我的params模型中配置的元素名稱。任何建議將不勝感激。

回答

6

而不是做xml.project的,請嘗試:

xml.tag! @project.params.name do 

這也應該如果在元素名稱連字符使用。

+0

我只是想到了這一點。感謝您的迴應! –