![]() | JRuby on Railsシステム構築入門 (DB Magazine SELECTION) 橋本 吉治 |
book_stock プロジェクトの作成
こちらの記事(GAE+Ruby+Railsプロジェクト作成 on Windows -2.3.11版-)を参考にプロジェクトを作成し、NetBeansでbook_stockというプロジェクト名で読み込みます。P.42 画面2:新規プロジェクト
P.42 画面3:プロジェクトの名前と場所
GAE上にデプロイしてデバッグする場合はdatabase.ymlやenvironment.rbを変更する必要はありません。
書籍モデルの追加
Railsジェネレータでモデルを作成していきます。ジェネレータ:scaffold
モデル名:Book
属性ペア:isbn:string title:string author:string release_on:date price:integer publisher_id:integer
ジェネレータ:dd_model
引数:Book isbn:string title:string author:string release_on:date price:integer publisher_id:integer
ファイルが既に存在する場合:上書き
ここまででデプロイするとhttp://
出版社モデルの追加
ジェネレータ:scaffoldモデル名:Publisher
属性ペア:name:string address:string url:string
ジェネレータ:dd_model
引数:Publisher name:string address:string url:string
ファイルが既に存在する場合:上書き
モデルについて
ここで注意したいのは書籍に記載されているソースではbook.rbとpublisher.rbに各項目の定義は含まれていませんが、GAEではRDBが存在せず自由なデータ型を格納する事が出来るためモデル側に各項目の定義が必要になります。その定義をdd_modelで行っています。例:publisher.rb
class Publisher
include DataMapper::Resource
storage_names[:default] = "Publisher"
property :id, Serial
property :name, String, :required => true, :length => 500
property :address, String, :required => true, :length => 500
property :url, String, :required => true, :length => 500
timestamps :at
end