2008年1月14日月曜日

GrailsをLeopardで動かす.

一応,こっちも試してみとこう.というそれだけの動機.
まぁInstallページを参考にすれば簡単なんですけどねw.
Grails - Japanese Installation
http://grails.codehaus.org/Japanese+Installation


grailsを“書類(Documents)”に展開したと仮定すると以下のような感じで.profile(デフォルトがbashだから)を編集する
${HOME}/.profileを編集(なければ作成)
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
export JAVA_HOME
GRAILS_HOME=${HOME}/Documents/grails-1.0-RC1
export GRAILS_HOME
PATH=${PATH}:${GRAILS_HOME}/bin


GRAILS_HOME=${HOME}/Documents/grails-1.0-RC1/

だとClassNotFoundを起こすので注意w.

で次にQuick Startを試す.
Grails - Japanese Quick Start
http://grails.codehaus.org/Japanese+Quick+Start


Grailsプロジェクトを作成
 
> grails create-app
これは途中でプロジェクト名を入力してその名前のフォルダが作られる.サンプル通りに勧めるには'my-project'にするのが簡単.

データソースを定義 (任意)
 ここでは飛ばした.

ドメインクラスを作成
 
> cd my-project
> grails create-domain-class
これも途中でクラス名(Book)を入力することになる.できるファイルは
grails-app/domain/Book.groovy
となる.

 またテストデータを初期設定するのは
grails-app/conf/BootStrap.groovy
ファイルとなる.
こう
def init = { servletContext ->
}
だったので,こう
def init = { servletContext ->
new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save()
}
してみた.

コントローラーを作成
 
> grails generate-all
これも途中でクラス名(Book)を入力することになる.できるファイルは
grails-app/controllers/BookController.groovy
となる.

 中身は色々書いてあるのだがscaffoldを使うのでこうなる.
class BookController {
def scaffold = Book
}
(もともとの部分は削除)

Grailsの起動
 
> grails run-app
で起動.

 http://localhost:8080/my-project/book/list
 にアクセスしてみて確認.

 起動には結構時間がかかる印象なので以下のようにログが出てからアクセスのこと.
:INFO: Started SelectChannelConnector@0.0.0.0:8080
Server running. Browse to http://localhost:8080/my-project


Quick Startの動作画面はこんな感じ.


誰かの役に立てば幸い.間違いを指摘していただけたら幸い.

#LeopardなんだからSQLiteで動ければ良さげ?

0 件のコメント: