Ruby on rails 在Ruby'中自定义节点名称;s建筑商
我正在构建一个生成动态xml的工具。因此,我的模型具有非常通用的名称:Ruby on rails 在Ruby'中自定义节点名称;s建筑商,ruby-on-rails,xml,ruby,builder,Ruby On Rails,Xml,Ruby,Builder,我正在构建一个生成动态xml的工具。因此,我的模型具有非常通用的名称: 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_
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
因此,当我从项目控制器构建xml时,项目节点名是xml的根节点。但我不想叫它“项目”。我希望节点是@project.params['name']值的任意值
我遇到的问题是建筑商的结构使得这很困难。。。当我这样做时:
xml.project do
~some code
end
…它总是将“project”创建为根节点名称。我找不到替代它的方法,无法使用其他名称。我希望下面的方法能奏效:
xml.send(@project.params.name) {
...some code
}
…但这显然不起作用。因此,我本质上是在试图找到一种方法来别名在我的params模型中配置的元素名称。如果您有任何建议,我们将不胜感激。请尝试以下方法,而不是使用xml.project:
xml.tag! @project.params.name do
如果元素名中有连字符,也应使用该选项。我也刚刚解决了这个问题。谢谢你的回复!