Ruby on rails 使用ActiveResource将CamelCase xml/json转换为ruby命名属性

Ruby on rails 使用ActiveResource将CamelCase xml/json转换为ruby命名属性,ruby-on-rails,xml,activeresource,camelcasing,Ruby On Rails,Xml,Activeresource,Camelcasing,我正在使用ActiveResource使用REST服务。服务中的xml如下所示: <Person> <FirstName>Kevin</FirstName> <LastName>Berridge</LastName> </Person> 我更倾向于遵循Ruby命名约定,如下所示: p = Person.find(1) p.FirstName p.LastName p = Person.find(1) p.firs

我正在使用ActiveResource使用REST服务。服务中的xml如下所示:

<Person>
  <FirstName>Kevin</FirstName>
  <LastName>Berridge</LastName>
</Person>
我更倾向于遵循Ruby命名约定,如下所示:

p = Person.find(1)
p.FirstName
p.LastName
p = Person.find(1)
p.first_name
p.last_name

ActiveResource有办法做到这一点吗?有没有一种方法可以连接到ActiveResource并添加此内容?

我不知道有什么快速方法可以更改ActiveResource命名属性的方式,但您可以实现
方法\u missing
以使用首选拼写访问现有属性:

def method_missing(name, *args, &block)
  send name.to_s.classify.to_sym, *args, &block
end
或者,您可以通过迭代
attributes.keys
并使用
define\u method
动态定义交替命名的方法,尽管我不确定在对象的生命周期中您何时会这样做(构造函数?)