多くのローカルRailsアプリケーション間の連携が必要なシステムを計画中です。このデザインでは、グローバルアプリがこれらのサーバー間でRESTfulなリクエストを中継するように要求しています。Railsの分散リソース
たとえば、Teacherのリソースを含む、ローカルのRailsアプリケーションを持つ各学校を想像してみてください。私は教師へのアクセスを提供するグローバルアプリを/ school/42/teacher/3として提案しています。
グローバルサーバーの学校リソースには、各学校のアプリのベースURLのフィールドがありますので、 school_42_url/teacher/3へのリクエスト。
このデザインでは、学校サーバーを直接接続するのではなく、リレーする必要があります。
私はこれを達成するためのいくつかの方法を考えることができますが、Railsの初心者は「Railsの道」を理解できません。
ActiveResourceは魅力的ですが、リクエストごとに設定するのではなく、固定された「サイト」を必要とするようです。
ルーティングはおそらくURLグロビングで動作する可能性がありますが、これを実現する方法の例を参照する必要があります。
第3のアプローチはカスタムコントローラですが、これはRailsのようには感じられません。
コメントや歓迎です。
それは探検する正しい方向のように感じます。ローカルサーバー上のRESTful apisは指定されたものです。私はNet :: HTTPを調べます。 グローバル/学校/ 42 /教師/ 3はどのレベルで解析する必要がありますか? Schools.find(42).urlを取得し、そのURLで/ teacher/3に呼び出しを中継するには、ARルックアップが必要です。私はスクールで未ルーティングコールを処理するコントローラを試してみます。 のような経路を設定した場合、 'SchoolDeslegate#delegate' と一致し、#delegateを実装してNet :: HTTPを使用すると、適切な経路にありますか? – Zaq
あなたはRailsの3ウェイの[RESTの章](http://my.safaribooksonline.com/book/web-development/ruby/9780132480345/rest-resources-and-rails/ch03#X2ludGVybmFsX0ZsYXNoUmVhZGVyP3htbGlkPTk3ODAxMzI0ODAzNDUvNTU=)をチェックアウトする必要があり – rudolph9
私はいくつかの進歩を遂げました...私が上で述べたルートが働いています、私は中継する正しいURIを構築したデリゲートメソッドを実装しています(正しいベースを取得するためにIDでスクールを探します)。 Net :: HTTP。次のステップでは、メソッドと本文をHTTP呼び出しにコピーするコードを記述します。これはより簡単になるはずです。デリゲートにメソッドを取得し、配置し、ポストし、削除し、そのメソッドにすべてルーティングするのではなく、それらのメソッドにルーティングする必要がありますか? – Zaq