Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在ActiveResourceXML中使用下划线而不是破折号(将:dasherize设置为false)_Ruby On Rails_Ruby On Rails 3_Activeresource - Fatal编程技术网

Ruby on rails 在ActiveResourceXML中使用下划线而不是破折号(将:dasherize设置为false)

Ruby on rails 在ActiveResourceXML中使用下划线而不是破折号(将:dasherize设置为false),ruby-on-rails,ruby-on-rails-3,activeresource,Ruby On Rails,Ruby On Rails 3,Activeresource,我试图阻止rails用破折号替换XML下划线,这让我遇到了各种各样的麻烦。我正在使用ActiveResource向web服务发布帖子。我尝试了各种各样的修复方法,结果从rails初始化错误到完全无效。我发布到的web服务需要下划线 基本上,如果我能做到以下几点,我应该是优秀的: 从 有人能举个例子吗?不幸的是,我的时间很紧,所以如果有人能提供帮助,那将是一个巨大的帮助 谢谢 是否尝试在初始值设定项中将模块属性设置为false ActiveSupport.dasherize_xml = false

我试图阻止rails用破折号替换XML下划线,这让我遇到了各种各样的麻烦。我正在使用ActiveResource向web服务发布帖子。我尝试了各种各样的修复方法,结果从rails初始化错误到完全无效。我发布到的web服务需要下划线

基本上,如果我能做到以下几点,我应该是优秀的:

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


谢谢

是否尝试在初始值设定项中将模块属性设置为false

ActiveSupport.dasherize_xml = false
对于rails 3+,您可以在响应中使用以下内容:

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

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

我尝试过,但出现了各种错误,包括ActiveSupport没有该属性。如果有人能给我一个适当的例子,初始化设置属性,这将得到我需要的。现在,我只是在每个ActiveResource模型中重写为_xml,检查更新后的答案是否有用。您还可以扩展自己的ActiveResource子类,使其更干净。+1。两条注释:1)AFAIK
render:xml=>object.to_xml(:dasherize=>false)
应该在Rails 2中工作。2) 为什么显示黑客解决方案(最后2个代码片段),而其他两种显示方式都有效?不要鼓励不必要的修补。@tokland编辑历史只显示您的建议;我同意,蒙基补丁几乎总是一种罪恶。本着一种更为现代的回答精神,我正在删除丑陋的部分。谢谢
render :xml => object.to_xml(:dasherize => false)