Je suis en train de créer un outil qui génère du XML dynamique. Par conséquent mes modèles ont assez des noms génériques:Personnaliser les noms de nœuds dans Ruby's Builder
Project
has_many :Groups
Group
has_many :Items
has_many :Groups
belongs_to :Project
Item
has_many :Params
belongs_to :Group
Param
belongs_to :Project
belongs_to :Group
belongs_to :Item
Alors, quand je construis le xml du contrôleur de projet, le nom du nœud du projet est le nœud racine du xml. Mais je ne veux pas qu'on l'appelle "projet". Je veux que le noeud soit quelque soit la valeur de @ project.params ['name'].
Le problème que je vais avoir est que la structure du constructeur rend ce difficile ... Quand je fais:
xml.project do
~some code
end
... Il va toujours de créer « projet » comme le nom du nœud racine . Je ne peux pas trouver un moyen de le remplacer pour utiliser un nom différent. J'espérais quelque chose comme ce qui suit fonctionnerait:
xml.send(@project.params.name) {
...some code
}
..mais cela ne fonctionne évidemment pas. J'essaie donc essentiellement de trouver un moyen d'aliaser les noms d'éléments qui sont configurés dans mon modèle params. Toutes les suggestions seraient grandement appréciées.
Je viens de comprendre cela aussi. Merci pour la réponse! –