Grails in GAEの課題
ようやくGoogle App EngineでGrails + GORMが動いた。
けれどもいくつか気になる点が。
前提
あくまで以下のプラグインを使った僕の環境での課題です。
- grails appengine plugin
- grails gorm-jpa plugi
アプリのURLはこちら。
Grailsでのメッセージ表示
Grailsで生成されるControllerクラスを見てみると、以下の処理終了後にメッセージを出力するようになっている。
- 登録(save)
- 更新(update)
- 削除(delete)
Grailsにはいくつかのスコープが存在していて一般的なリクエスト、セッションの他にフラッシュなんてのもある。
Japanese Controllers - Grails - Codehaus
上記の更新処理実行後は、
flash.message = "~なんかメッセージ~"
と言う風に表示したいメッセージをセットしている。
Viewではこのflash.messageが空でない場合のみ表示するようになっている。
GAE上だとメッセージがずっと残ってしまう(Grails AppEngine Pluginの問題?)
通常は画面表示後にflashスコープの内容がクリアされる。
GrailsプロジェクトにGrails AppEngine Plugin、Gorm-JPA Pluginを入れてもこれは同様。
ただし、GAE上にアップするとなぜかflashスコープの値がクリアされなくなってしまう。更新後に表示されたメッセージが、たとえば一覧画面を飛び回っている間も表示され続けたりする。挙句の果て、次の更新、削除を行ってもメッセージが切り替わらない。
[HOME]のリンクおかしい
こちらはローカルでも出るので、Grails AppEngine Pluginが原因の可能性が大きい。
画面の左上の[HOME]のリンクを押しても、現在表示中のページがリロードされるだけ。サイトのトップへ移動してくれなくなってしまった。
暇があったら原因を調べてみたい。
ディスカッション
コメント一覧
まだ、コメントがありません