Grails in GAEの課題

2019-09-18GAE,Grails

ようやくGoogle App EngineGrails + GORMが動いた。

けれどもいくつか気になる点が。

前提

あくまで以下のプラグインを使った僕の環境での課題です。

  • grails appengine plugin
  • grails gorm-jpa plugi

アプリのURLはこちら。

Book List

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]のリンクを押しても、現在表示中のページがリロードされるだけ。サイトのトップへ移動してくれなくなってしまった。

暇があったら原因を調べてみたい。

2019-09-18GAE,Grails