最近は、Rails ActiveResource をクライアントとして使用し、WCF レストフル サービスをサーバーとして使用して、アーキテクチャ設計のアイデアの検証に取り組んでいます。VMWare Fusion (自己ホスト モード) でホストされている Macintosh のブートキャンプ パーティションで、Windows Vista で WCF サービスを実行しています。ブラウザで Mac からサービスを呼び出すと、実際に仮想サーバーから正しい xml 応答を取得します。これは、Vista サーバーから IP アドレスを取得し、それを uri で使用することによって行われます。
http://168.192.243.128/WCFTestService/ContextService.svc/dtree/14
このサービスは、3 つの DataMember 属性 (id = 14) が公開された「Context」というクラスのインスタンスを返します。Rails (2.3.2) クライアントでクラス名「DTree」を使用したいので、次のように定義します。
class DTree < ActiveResource::Base
self.site = ' http://168.192.243.128/WCFTestService/ContextService.svc/ '
end
私が経験している問題は、このセットアップとはほとんど関係がないかもしれません。
Rails のテスト プロジェクト ルートでコンソールを起動し、次のように入力します。
DTree.find(14)
私は得る:NameError:初期化されていない定数DTree(...)
グーグルの芸術は、実際に役立つものを何も見つけていないようです。それは、私の問題が非常に簡単であり、なぜ誰かがこの種の問題に対する回答を投稿するのかを教えてくれます. 私が知る限り、および他の例から、私のアクティブなリソース クラスは、クラスを定義するだけで、少なくとも Rails コンソールで認識されるはずです。別のエラーは問題ありません。