Grails > scaffoldによる画面の生成

更新日 2014-12-13
広告
scaffold機能を使うと、ドメインクラスに対応する画面を自動生成できます。

scaffoldの使い方

Grailsは、基本的な画面を自動生成する 'scaffold' という機能があります。 以下のように、コントローラでscaffold変数をtrueに設定すれば、この機能を利用できます。
class BookController {
  static scaffold = true
}

これにより、BookControllerに、以下のアクション用のメソッドが自動生成されます。

  • index
  • show
  • edit
  • delete
  • create
  • save
  • update
これらのメソッドはオーバーライドすることができます。また、他のアクション用メソッドを実装しても問題ありません。

これらのアクション用メソッドにより、book/indexやbook/createなどのURLにアクセスすると、画面を見る事ができます(Bookというドメインクラスを定義しておく必要はあります)。

プロパティの非表示

自動生成される登録画面は、基本的に、ドメインクラスが持つ全てのプロパティの入力フォームを表示します。 一部のプロパティの入力フォームを表示したくない場合は、ドメインクラスのconstraintsで設定可能です。
class Book {
  static constraints {
    name display: false
  }

  String name

これで、scaffoldで作成される画面で、nameプロパティは表示されなくなります。

リストサイズの変更

ドメインクラスがListを持つ場合、自動生成される画面では、一度に10個までしか表示されません。 このサイズを変更する場合は、まず、テンプレートをインストールします。
$ grails install-templates
これで、テンプレート(src/templates/scaffolding/Controller.groovy)がインストールされます。 このテンプレートファイルの中で定義されている"params.max"がリストサイズになります。これを変更すれば、画面に表示される数も変更されます。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system