私は ActiveResource から始めましたが、すぐに壁にぶつかりました。基礎となるモデルで to_json および to_xml をオーバーライドするときに、ActiveResource を機能させることができませんでした。さらに、リソース表現が生成された xml ドキュメントにリンクを挿入することができませんでした。ところで、Rails 3.2.1 を使用しています。
私は少し調査を行い、その宝石について知りました。試してみましたが、なぜかうまくいきませんでした。だから私の質問は:
1 つのリソース (書籍など) を 1 つの Web サイト ( http://books.orgなど) でホストし、別のリソース (たとえば学生、http://students.org ) を別の Web サイトでホストしている場合、どうすればよいでしょうか。 HATEOS の完全な栄光で学生に自分自身を表すために本を手に入れますか?
私は、本のリソースを XML ドキュメントとして学生に提示することができました。これは、学生サイトでバニラの Rails ActiveResource を使用して行いました。から継承する Books リソースを作成しましたActiveResource::Base
。次に and を指定したself.site
後self.element_name
、リモートの書籍サイトに対して初歩的な ActiveRecord のようなクエリを実行できるようになりました。私のために働いた唯一のものはBook.all
、とBook.find(1)
. 表現にはすべてのデータベース列が含まれていたため、それでも満足のいくものではありませんでした。少なくともそれらのいくつかを削除したかったのですが、それは不可能であることが判明しました。
私はそのアプローチを放棄したので、アプリケーションの状態転送を駆動するリンクを含む、より洗練されたリソース (書籍など) の表現を構築できる実用的な例が Rails にあるかどうか疑問に思っています。このような単純な要件を Rails で実装するのが非常に難しいように思えるのは、信じられないことです。私がやろうとしているのは、リソースの機能を発見する際に消費者を導くいくつかのリンクを含むリソースの表現を作成することだけです。私は主にワークフローを実装することに関心があります。これは、階層化されたタマネギの皮をむくタイプの会話型発見プロセスです。