8.一覧表示機能

それでは自動生成された機能を変更して、第1.クライアント側の開発で作成した機能と連携させます。

 a.    コントローラの修正

じつは、今回は何も修正しなくとも、連携機能がscaffoldで生成されています。

http://localhost:3000/rosters.jsonをブラウザでアクセスしてください。以下のように表示されます。

 

image070.jpg

 

RailsのデータベースのRostersテーブルに登録されている内容がすべてJSON形式で表示されます。RhodesではこのJSONファイルから一覧表示を行います。

実際にソースは以下のようになっています。RosterServer/app/controllers/rosters_controler.rbファイルを開いて、indexメソッドを見てください。

 

02 |       # GET /rosters

03 |       # GET /rosters.json

04 |       def index

05 |         @rosters = Roster.all

06 |    

07 |         respond_to do |format|

08 |           format.html # index.html.erb

09 |           format.json { render :json => @rosters }

10 |         end

11 |       end

 

image072.jpg

 

上記のソースの説明をします。

まず、5行目では、Roster.allメソッドで、rostersテーブルに保存されているデータをすべて取得して、インスタンス変数@rostersに代入しています。

7行目のrespond_toメソッドを使用して、indexメソッドにアクセスがあったときに、リクエストの拡張子をみて、処理を切り分けています。http://localhost:3000/rosters, http://localhost:3000/rosters.htmlのように、HTML形式でリクエストしている場合は、format.htmlとなっている8行目の処理を通ります。http://localhost:3000/rosters.jsonのようにJSON形式でリクエストしている場合は、format.jsonとなっている9行目の処理を通るようになります。

 
システム工房エムのサイトへのリンク

住所〒690-0017 島根県松江市西津田3-2-3 TEL.0852-23-8590 FAX.0852-23-8591
Copyright 2008-2010 System Maker M,All right reserved