最近,我一直致力于验证一个架构设计理念,使用 Rails ActiveResource 作为客户端,使用 WCF RESTful 服务作为服务器。我在 VMWare Fusion(自托管模式)托管的 Macintosh 上的训练营分区中的 Windows Vista 上运行 WCF 服务。当我在浏览器中从 Mac 调用服务时,我确实从虚拟服务器获得了正确的 xml 响应。这是通过从 Vista 服务器获取 ip 地址并在 uri 中使用它来完成的。
http://168.192.243.128/WCFTestService/ContextService.svc/dtree/14
此服务返回一个名为“Context”的类的实例,其中公开了三个 DataMember 属性 (id = 14)。我想在 Rails (2.3.2) 客户端中使用类名“DTree”,所以我定义了以下内容:
类 DTree < ActiveResource::Base
self.site = ' http://168.192.243.128/WCFTestService/ContextService.svc/ '
结束
不过,我遇到的问题可能与此设置无关。
当我在 Rails 中的测试项目根目录启动控制台并键入以下内容时:
DTree.find(14)
我得到:NameError:未初始化的常量 DTree (...)
谷歌搜索的艺术似乎并没有发现任何真正有用的东西,这有时告诉我我的问题是显而易见的,为什么有人会发布此类问题的答案。据我所知,从其他示例来看,我的活动资源类至少应该在 rails 控制台中被识别,而不仅仅是定义类。另一个错误会很好。