Dictionaryの作成
英語の列名を日本語へ変換するために、下記のようなテーブルを利用します。
class CreateDictionary < ActiveRecord::Migration def self.up # 辞書マスタの作成 create_table :dictionaries do |t| t.column :english , :string t.column :japanese, :string end end def self.down drop_table :dictionaries end end
下記のscaffoldコマンドでアプリケーションを生成します。
ruby script/generate scaffold Dictionary
「http://localhost:3000/dictionaries/」へアクセスすることで、Dictionaryテーブルをブラウザからメンテナンスできます。
ActionWebServiceへのFindByIdの追加
記事『Rails ActionWebServiceジェネレータのカスタマイズ』で作成したActionWebServiceにFindById
メソッドを追加します。これにより、レコード更新画面のオープン時に呼ばれるウェブサービスメソッドが用意されます。
#------------------------------------------------------------------- # グループIDを条件にレコードを取得します。 #------------------------------------------------------------------- def find_by_id(arg_id) MstGroup.find_by_id(arg_id); end
api_method :find_by_id, :expects=>[{:arg_id=>:integer}], :returns=>[MstGroup]
AIR版メンテナンスアプリケーションジェネレータによるアプリケーションの生成
AirMaintenanceGeneratorの実行
図5に示されるように、AirMaintenanceGeneratorは、コマンドラインから実行することができます。
ruby script/generate air_maintenance MstGroup
WEBrickの実行
「RAILS_ROOT\air-source」以下に生成されたアプリケーションを実行する前に、WEBrickを起動することで、サーバ側のロジックを呼び出し可能な状態にします。RAILSのアプリケーションを生成したルートディレクトリをカレントディレクトリに設定し、下記のコマンドにより、WEBrickを起動します。
ruby script/server
自動生成したアプリケーションの実行
「RAILS_ROOT\air-source」以下に生成されたアプリケーションは、下記のようにコンパイルし、adlコマンドで実行できます。
amxmlc MstGroup.as amxmlc MstGroupList.mxml adl mst_group-app.xml
adlコマンドにより生成したアプリケーションを実行すると、図7のようになります。
まとめ
本稿では、AIRの生産性を向上させる試みの一環として、AIR版のメンテナンスアプリケーションのジェネレータを作成しました。同様の方法でさらに機能を追加していけば、より実用的になると思います。本稿で紹介した内容が、読者の皆さんの労力削減に役立てば幸いです。
参考資料
- 『Railsレシピ』 Chad Fowler 著、長瀬嘉秀・永田渉 編、株式会社テクノロジックアート 訳、オライリー・ジャパン、2006年12月
- 『Actionscript 3.0 Cookbook』 Joey Lott・Darron Schall・Keith Peters 著、Oreilly & Associates Inc、2006年10月
- 川o・-・)<2nd life 「ActionWebServiceでxmlrpcサービスを作る」