Используйте подчеркивания вместо черточек в ActiveResource XML (установите: dasherize в false) - PullRequest
6 голосов
/ 26 марта 2011

Я бью по всем видам стен, пытаясь помешать рельсам заменить подчеркивание XML тире. Я делаю сообщение в веб-сервис, используя ActiveResource. Для этого я испробовал все варианты исправлений, результаты которых варьировались от ошибок инициализации рельсов до безрезультатного. Веб-сервис, на который я отправляю сообщения, требует подчеркивания.

По сути, если я смогу получить следующее, я должен быть хорош:

С 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 Ответ

13 голосов
/ 26 марта 2011

Вы пытались установить атрибут модуля в false в инициализаторе?

ActiveSupport.dasherize_xml = false

для рельсов 3+ вы можете использовать в ответе следующее:

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

См. Историю изменений для уродливого подхода обезьяноподготовки.

...