使用下划线代替使用ActiveResource XML的破折号(设置:dasherize为false)

时间:2011-03-25 21:35:05

标签: ruby-on-rails ruby-on-rails-3 activeresource

我正在试图阻止rails用破折号替换XML下划线。我正在使用ActiveResource发布一个Web服务的帖子。我已经为此尝试了各种修复方法,结果从rails初始化错误变为不起作用。我发布的网络服务需要下划线。

基本上,如果我可以得到以下内容,我应该是好的:

来自http://rubydoc.info/docs/rails/2.3.8/ActiveResource/Base

:dasherize - Boolean option to determine whether or not element names should replace underscores with dashes. Default is true. The default can be set to false by setting the module attribute ActiveSupport.dasherize_xml = false in an initializer.

有人可以举一个例子吗?不幸的是,我的时间紧迫,所以如果有人可以提供帮助,那将是一个巨大的帮助。

谢谢!

1 个答案:

答案 0 :(得分:13)

您是否尝试在初始化程序中将module属性设置为false?

ActiveSupport.dasherize_xml = false

对于rails 3+,您可以在回复中使用以下内容:

render :xml => object.to_xml(:dasherize => false)

请参阅编辑历史记录以了解丑陋的monkeypatching方法。