Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Ruby on Rails + Curl
リッチクライアントCRUDアプリを作成する

第2回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/06/30 15:00

 Ruby on Railsをサーバーサイドに使い、ビューにCurlを使ったRIAアプリケーションの開発です。今回はリッチクライアント版のCRUDアプリを作成します。

目次

はじめに

 前回はRuby on RailsのScaffold機能で作ったテーブルに対してデータのCRUD(作成・読み出し・更新・削除)ができるWebアプリを作りました。今回は下の画面のようなCurlを使ったリッチクライアント版のCRUDアプリを作成してみましょう。

 また、先日Curl Ver.7がリリースされたましたので今回からVer.7を使います。実行環境(RTE)、IDEをダウンロード・インストールしてください。

前回の記事

Ruby on Rails とリッチクライアントのインターフェース

 前回のScaffoldの生成したコードの説明でも少し触れたように、Ruby on Railsはたいへんリッチクライアントと相性の良い設計になっています。

データフォーマット

 Ruby on Railsは通常のHTML以外にXMLフォーマットのデータを出力できます。またXMLだけではなく、以下のように1行コードを追加するだけでJSONフォーマットのデータも簡単に出力できます。

def index
  @players = Player.all

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml  => @players }
    format.json { render :json => @players }   # ← この行を追加
  end
end

 さらに出力だけなくデータの受け取りも、通常使われるapplication/x-www-form-urlencodedやmultipart/form-dataだけでなく、XML、JSONフォーマットのデータもプログラムを変更する事なく使用できます。

REST

 Ruby on RailsのコントローラーはREST(Representational State Transfer)原則に従っています。RESTではテーブル等のリソースをURLで一意に指定し、そのデータをHTTPメッソドのPOST、GET、 PUT、DELETEを使って、作成/読み出し/更新/削除できるなっています。

URL メソッド 操作
http://localhost:3000/players GET playesテーブルの一覧
http://localhost:3000/players/123 GET id=123データの読み出し
http://localhost:3000/players POST 新規データの作成
http://localhost:3000/players/123 PUT id=123データの更新
http://localhost:3000/players/123 DELETE id=123データの削除

 また、JSONフォーマットで情報を操作する場合は次のようなURLになります。

URL メソッド 操作
http://localhost:3000/players.json GET playesテーブルの一覧
http://localhost:3000/players/123.json GET id=123データの読み出し
http://localhost:3000/players.json POST 新規データの作成
http://localhost:3000/players/123.json PUT id=123データの更新
http://localhost:3000/players/123.json DELETE id=123データの削除

 このようなシンプルな考え方により、リッチクライアント側からのサーバーアクセスを統一的に操作でき、クライアント側のソフトをより簡潔にしています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 吉田裕美(ヨシダユウミ)

    有限会社 EY-Office 取締役 CADのベンチャー企業でCADのコア部分や図面管理システムなどの開発に従事した後、独立しJava,Ruby,PerlでWebアプリを中心に開発してきた。現在は殆どの開発はRuby on Rails。 ここ数年はソフトウェアエンジニアの教育に興味をもち、従来の...

バックナンバー

連載:Ruby on Rails + Curl

おすすめ記事

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5