2010-11-29 7 views
1

Ruby on Railsの学習を始めたばかりなので、PHPで簡単にやり方をする方法を知りたいと思っています。 POSTパラメータで呼び出せるJSONをレスポンスとして送信できる基本的なWebサービスをいくつか作成したいと考えています。私は、Ruby on Railsを使用してそれをどのように開始するのか全くわかりません。Ruby on rails POSTリクエスト付きウェブサービス

私はこの種のことをするのにベストプラクティスがあると確信しています。だから、もしあなたが私に何かアドバイスできれば、それは素晴らしいことでしょう!

よろしく、

答えて

1

POSTパラメータを取得するには、コントローラのparamsハッシュを調べるだけで、POSTパラメータ、GETパラメータ、または一部として来るかどうかにかかわらず、リクエストの任意のパラメータがすべて取得されますルート(例えば/ユーザー/:ID /新しい=>のparams [:ID]コントローラーで):

render :json => @model 

はリクエストからJSONを返すために、あなただけのこのようなレンダリング呼び出しを行いたいです

それを超えると、あなたの質問は、SOの答えの範囲に対して少し広がっています。 Rails開発を学ぶための出発点として、Agile Web Development with Railsを読むことをお勧めします。

0

レールの素晴らしいところは、それがRESTの原理に基づいていることです。

RESTfulリソースを作成するたびに、実際には同時にWebサービスが作成されています。

たとえば、足場ジェネレータを使ってリソースを作成するとします。

rails g scaffold Feed title:string content:string 

これは、すべてのビューロジックをHTMLで作成するだけでなく、xmlでも作成します。

さらに、あなたの最初のコメントへ:あなたは、コントローラに見れば

respond_toブロック内で、あなたは戻り値の型を指定することができます。だから、newのxmlバージョンをヒットし、createのjsonバージョンを返したいとします。ハッシュに入れ、JSONにあなたの治療パラメータをレンダリングするために

js = {:my => {:json => 'hash'}} 
render :json => js 
+0

はい私は理解しましたが、私のページの1つでPOSTリクエストのパラメータを取得し、その処理を行い、その処理に応じてJSON文字列を返す方法を知りません – MartinMoizard

+0

あなたは 'respond_to'を調べる必要があると言いますが、私はそれほど多くのWebサービスを使用していませんが、前にjsonを返すことは確かです。 – scaney

+0

jsonの文字列をカスタマイズする方法は? – MartinMoizard