2010-12-13 31 views
2

私はRuby on Railsの新機能を提供していますが、私は組織と標準が好きですが、この具体的なケースでは私がどのようにしてレールを動作させるか混乱しています。REST APIを使用したRuby on Rails

私は私のレールアプリケーションを使用したいWebサービスを持っています。データベースに直接接続するといいですし、Railsアプリケーションを動作させるために必要なモデルをすぐに提供できます。

しかし、私はwebserviceによって提供されるすべてのロジックを複製する必要があります(それは簡単ではありません)。データベースに直接接続しなかった場合、モデル(ユーザーモデルなど)をどのように保持しますか。

サーバーのDBを模倣する別のデータベースを作成する必要がありますが、実際には直接それと直接対話しませんか?

ありがとうございます。明確にする必要がある場合はお知らせください。

EDIT:例

  1. 私はURLのwww.mywebserviceに乗っレールのアプリがあります:FOO、ニック:バー、友人8080.com/users/5
  2. サービスは、JSON {名前を返します。 baz}
  3. この時点で、私はどのようにして、Userオブジェクトをちょうど得られたものから外し、それをデータベースに格納するようにrailsに指示しますか?または、このJSONオブジェクトを永続化する方法はありますか?

答えて

1

なぜ機能が不要なのはなぜですか? Sinatraで始めることをお勧めします。その後、必要なライブラリをJSON、Railsに付属するActiveRecord(?)として追加してください。

あなたは必要なデータベースに接続できますが、ActiveRecordを使用する必要はありませんが、本当に尋ねていることを理解するのは難しいです。このタイトルはどのように質問に関連していますか?なぜダイレクトDB?ユーザーオブジェクトをインスタンス化してからuser.to_jsonを実行する必要はありませんか?

KISS! :)

+0

1.私のタイトルは、APIのデータベースに実際に接続せずに(またはまったく同じようにしなくても)REST APIのデータベースを模倣する方法を尋ねているためです。 2.ユーザーオブジェクトをインスタンス化するということは、ユーザーモデルを作成する必要があることを意味します。それは私がそれぞれのユーザーテーブルを持つ必要があるということを意味しないのですか? – hwrdprkns

5

ActiveResourceは何それがないこと、それは本当のオブジェクトのようにそれが見えるようにサービスや偽outオブジェクトによって返されたJSONに反映されhttp://api.rubyonrails.org/classes/ActiveResource/Base.html

うまくあなたのユースケースを処理します。

関連する問題