db2 on Rails
DB2でさくさく実現するRESTfulなDBアプリ(2)

Railsでレガシーデータを蘇えらせるテクニック

日本アイ・ビー・エム株式会社
Team Ruby
山根 英彦
2008/10/30

レガシー表へのRESTfulなアクセス

 ActiveScaffoldを使用してRESTfulなアクセスを実現するには、configディレクトリの下にあるroutes.rbをサンプル10のように編集します。

●サンプル10 config\routes.rb (抜粋)
ActionController::Routing::Routes.draw do |map|
  # The priority is based upon order of creation:
# first created -> highest priority. map.resources :acts, :active_scaffold => true # Sample of regular route: <略>

 このように設定しておくことで、URLに主キー列の値を追加して直接Show/Edit画面を表示したり、XML形式で表示したりすることが可能となります。


●図4 Show画面
fig4
●図5 Edit画面
fig5
●図6 XMLによる表示
fig6

まとめ

 今回は、すでにデータベースに存在しているレガシー表に、ActiveRecordを使用してアクセスする方法をご紹介しました。次回は、また違った角度からDB2 on RailsへのRESTfulなアクセスをご紹介します。

筆者プロフィール

山根英彦(やまね・ひでひこ)
2003年ソフトウェア製品のベータ・プログラムを推進するエンジニアとして日本IBM入社。現在ITスペシャリストとして、Information Management製品を担当し、新機能を中心に検証、構築支援を実施。最近ではDB2 9の新機能pureXMLを用いたXMLDBの性能検証を行う。

Team Ruby
日本アイ・ビー・エムにおいて、RubyおよびRuby on Railsの最新技術習得やデモシステムの構築を通して、Agile Program開発領域でのDB2の優位性を構築事例や記事として示すと共に、関連する情報を提供して、DB2およびDB2のpureXML機能の認知度向上を目的として設立された、技術者コミュニティ。約20名が日本アイ・ビー・エム各部門から参加している。
前のページへ 4/4  

Index
DB2でさくさく実現するRESTfulなDBアプリ(2)
Railsでレガシーデータを蘇えらせるテクニック
・既存の表にActiveRecordを使うには?
・ActiveRecordを使ったマッピング
ActiveRecordが備える機能|ActiveRecordで表を作成する|DB2での主キーの扱い
ケース1:
レガシー表に主キー列に相当するINTEGER型やBIGINT型の列が存在する場合
レガシー表の内容を確認|主キー列をID生成列に変更する|主キー列と表の名前をRails規約に一致させる2つの方法
ケース2:
レガシー表に主キー列に相当する列が存在するがMALLINT型の場合
ケース3:
レガシー表に主キー列に相当する列が存在しない、もしくは存在してもCHAR型やVARCHAR型の場合
コラム:読み込み専用の表としてアクセスさせたい場合
→ Page 4
・レガシー表へのRESTfulなアクセス
・まとめ

DB2でさくさく実現するRESTfulなDBアプリ



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間