私は、RESTful WebサービスAPIを消費するRuby on Railsアプリケーションを作成したいと思います。結果にロジックを実行し、そのデータを私のビューに表示します。たとえば、search.twitter.comで検索したプログラムを作成したいとしましょう。別のドメインでRESTful Webサービスを使用するための適切な「Rails Way」は何ですか?
def run(search_term='', last_id=0)
@results = []
url = URI.parse("http://search.twitter.com")
res = Net::HTTP.start(url.host, url.port) do |http|
http.get("/search.json?q=#{search_term}&since_id=#{last_id.to_s}")
end
@results = JSON.parse res.body
end
私はプライベートメソッドとしての私のRailsのコントローラにその方法をドロップするように誘惑していますが、私の一部は、より良い、より多くの「レール」があることを考えている:純粋なルビーを使用すると、私は次のメソッドを作成することがありますこれを行う方法。ベストプラクティスのアプローチがありますか、これは本当に最善の方法ですか?
私はこの宝石が大好きです。これにより、Webサービスの消費が本当に滑らかになります。私がまだ持っている質問は、Railsにこれを行うために既に組み込まれているものがあるかどうかです。このように思えるのは、それをやり遂げる方法があるとしようとするのに十分なことです。 –
また、私のRailsのnoobieness :)を許して、それをモデルとしてどのように設定するのですか?私は、ActiveRecordを使用したデータベースアクセス用のモデルのみを使用しました。 –
レールコアには何も組み込まれていません。 モデルは単なるクラスです。モデルディレクトリにクラスを作成し、ActiveRecord:Baseクラスから継承しません。含まれているARの良さはありませんが、これはレールアプリケーション内のWebサービスを消費するための非常に一般的なパターンです –