私は今のようなアプリで作業していますので、少し考えてみましょう。
まずあなたがレールに完全な新人なら、最初のステップとして、私は2つのトラックで、この問題に対する並列的なアプローチを取ることをお勧めしたい:
- Railsの
- 学習について学びますRubyでAPIとやりとりする方法(リクエストを作成して応答を解析する方法)
これらは2つの別々の問題です。それらを一緒に実装することもできますが、最初に孤立して考えることをおすすめします。
まず最初に、いくつかの簡単なアプリケーションを作成して、まず動作の仕組みを理解することをお勧めします。単純なアプリでさえ、ある程度のユーザインタラクションが必要になります。おそらくDBからのレコードの保存など、APIからのデータの消費とは別の問題です。 Railsには数多くのチュートリアルがありますが、言及するだけで、Michael HartiのLearn Web Development with Railsを出発点としてお試しください。
APIデータを消費する第2のポイントは、アプリケーション自体の設計の問題とは異なります。この問題のこの側面について詳しく知りたい場合は、私が自分で使っているような(参考の通り)HTTPartyのような一般的なAPIクライアントの宝石を使うことをお勧めします。 RailsアプリケーションですぐにHTTPartyメソッドを使用しようとするのではなく、演習として私はコンソール(irb)でちょっと遊んでみることをお勧めします。宝石(gem install httparty
)をインストールすると、コンソールからそれを要求し(require 'httparty'
)、即座に要求を出してAPIからの応答を解析できます。
例えば:
irb(main):001:0> require 'httparty'
=> true
irb(main):002:0> response = HTTParty.get('http://twitter.com/statuses/public_timeline.json')
=> ...
あなたはもう少しのRailsに精通持っているとルビーでAPIにアクセスすると、その後、あなたが実際にアプリ自体を構築する上で移動することができたら。 APIへのリクエストの複雑さに応じて、RailsアプリでAPIリクエストを構造化する方法についていくつかの選択肢があります:
- リクエストをRailsアプリケーション自体に含めます、コントローラの操作から直接。限定された数のサービスでごく限られた数のリクエストタイプ(単純検索など)しかサポートしない場合は、これは本当に問題ありません。複雑なものやコントローラが太ってしまうものは、MVCフレームワークのno-noです。
- リクエストを作成し、APIから応答を解析するためのメソッドをグループ化するために、別々のルビクラス(通常はAPIラッパーと呼ばれる)を作成します。 HTTPartyのような宝石では、クラスにモジュールを追加するクラスに
include HTTParty
という行を追加するだけでこれを行うことができます。これを行う方法には多くの例があります。here is one。
- 特定のAPIにアクセスするための専用の宝石を使用するか、独自の宝石を1つ(またはそれ以上)作成します。最も人気のあるサービスのための宝石があります。 Twitter,Linkedin,Flickrなどthis list of API client gemsを参照してください。これは、APIとのやり取りの苦労を取り除きますが、すべてのサービスのサブセットに対してのみ機能します。
あなたはHTTPartyを使用することを考えていますが、私は自分で使っているのでお勧めできます。 Faradayのような選択肢があります(詳細はthis list of HTTP clientsを参照してください)。しかし、ほとんどのタスクでHTTPartyがうまく動作します。ドキュメントは少しばかりであるかもしれませんが、あなたが作業できるexamplesの束があります。
希望に役立ちます!
まず、RailsとMVCを学び、モデル、ビュー、コントローラにどのようなものがあるのかをまず知ることです。あなたがそのハングアップを取得した後、この質問への答えはあなたに簡単に来るはずです。 –