ActiveResource NameError调用WCF服务

时间:2010-01-25 17:00:51

标签: ruby-on-rails wcf activeresource

最近,我一直致力于使用Rails ActiveResource作为客户端和作为服务器的WCF restful服务来验证架构设计理念。我在Windows Vista上运行的WCF服务在VMWare Fusion(自托管模式)中托管的Macintosh上的bootcamp分区中运行。当我在浏览器中从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基地
self.site ='http://168.192.243.128/WCFTestService/ContextService.svc/'

我遇到的问题可能与此设置无关。

当我在Rails中的测试项目根目录启动控制台并输入以下内容时:

DTree.find(14)

我得到: NameError:未初始化的常量DTree (...)

谷歌搜索的艺术似乎并未出现任何实际用途,这有时会告诉我,我的问题是不容易的,为什么有人会发布这类问题的答案。从我可以告诉的所有内容和其他示例中,我的活动资源类至少应该在rails控制台中被识别,而不仅仅是定义类。另一个错误就好了。

1 个答案:

答案 0 :(得分:1)

我以为我会回答我自己的问题,因为事实证明这是一个毫无疑问的事情,我讨厌在网上找到没有答案的问题。

这主要是因为没有使用script / generate命令创建活动资源类,这确保了文件的正确名称和位置。

我的类名是DTree,我在/ models目录中创建了一个名为dtree.rb的文件。它应该被命名为d_tree.rb并位于/ lib目录中。