hy族
我遇到了一个问题,我必须用ruby和builder在sinatra服务器上创建一个xml。
XML中填充了如下XML标记:

<fu-ba:r test="test1" source="h1">
  somthing
</fu-ba:r>

现在我不知道如何让builder创建这样的标记(属性没有问题)。
我试过:
xml.fu-ba:r(......)
xml."fu-ba:r"(.......)
xml. << "fu-ba:r"(......)

每一个想法或解决方案都会有很大帮助,谢谢各位

最佳答案

Ruby标识符由字母、十进制数字和
下划线字符,并以字母开头(包括
下划线)ruby的长度没有限制
标识符。
因为ruby identifiers不允许使用特殊字符,所以builder有一个称为tag!的方法。
例如

x.tag!("fu-ba:r") {
  x.text! "something"
}

输出
# <fu-ba:r>
#   something
# </fu-ba:r>

10-06 16:13