Я обновляю приложение rail2 до rails3 и испытываю странное поведение из-за того, что ActiveResource использует API REST (также приложение rails).XML-ответ от API выглядит примерно так:
<company>
<name>Company Name</name>
<employee>
<name>Employee 1</name>
<position>
<name>Manager</name>
</position>
</employee>
</company>
Теперь я могу правильно использовать API, и точечная запись работает нормально ... т.е.:
company.employee.name #returns Employee 1
Однако я заметил, что тип класса вложенных атрибутов отличается от того, который был в рельсах 2. В рельсах два, типы классов (основанные на приведенном выше XML), будут:
Company
Employee
Position
Однако врельсы 3, типы классов:
Company
Company::Employee
Company::Employee::Position
По некоторым причинам, это пространство имен классов.Я уже определил каждый из классов ActiveResource для каждого из этих типов (без пространства имен), и поскольку rails3 - это объекты пространства имен, он не сопоставляется с классами, которые я определил.
Кто-нибудь знает, существует лиспособ выключить это?