0

私はxml/mappingライブラリを使用しており、XML を生成する方法は次のとおりです。

xml = user.save_to_xml
str = String.new
xml.write(str,2)

結果は私が望むものとは少し異なります。小文字の XML タグを生成します。

<user PK=...
 ...
</user>

しかし、大文字で始まるタグが必要です。

<User PK=...
 ...
</User>

大文字で世代を強制するにはどうすればよいですか?

4

1 に答える 1

1

root_element_name次のようにデフォルトをオーバーライドできます。

User.root_element_name "User"

すべてのクラスのデフォルトを変更する場合は、次のdefault_root_element_nameように定義されているメソッドをオーバーライドする必要があります。

# The default root element name for this class. Equals the class
# name, with all parent module names stripped, and with capital
# letters converted to lowercase and preceded by a dash;
# e.g. "Foo::Bar::MySampleClass" becomes "my-sample-class".
def default_root_element_name
  self.name.split('::')[-1].gsub(/^(.)/){$1.downcase}.gsub(/(.)([A-Z])/){$1+"-"+$2.downcase}
end
于 2013-03-05T16:10:55.447 に答える