Grails3.0.4を入れると、fieldsプラグインは、デフォルトで(?)バージョン2.0.3が入るようです。
しかし、この2.0.3ですが、なぜか1.5以降のテンプレート指定のようにいきません。
参考ページ: fieldsプラグインのリファレンス(2.1.0のスナップショット)
1.5以前とそれ以降では、テンプレート名が以下に変わると書いてありました。
_field.gsp => _wrapper.gsp
_input.gsp =>_widget.gsp
_display.gsp =>_displayWrapper.gsp
N/A => _displayWidget.gsp
しかし、2.0.3だとなんの反応もなかったので、_field.gspを作ったところ、反応しました。
1.5以降じゃないやん…。
とりあえずの解決策
ということで、bintrayでfieldsプラグインを探してみたら、2.1.0がありました。
最新すぎて怪しい感じもしましたが、とりあえずこれを入れてみました。
dependencies { // 略 compile "org.grails.plugins:fields:2.1.0" // 略 }
こうしたら、_field.gspじゃなくて_wrapper.gspがテンプレートになりました。
fieldsプラグインのテンプレート置き場のパス
とりあえず、デフォルトだけでいうと、
grails-app/views/_fields/default以下に、_wrapper.gsp, _widget.gsp, _displayWrapper.gsp, _displayWidget.gspを作ればよさそうです。あとは、型やdomainクラスのプロパティ名などで参照されるテンプレートが変わるようです。優先順位があって、該当ファイルがなかったらどんどん検索していってなければdefault内のテンプレートが指定される模様。
型からテンプレートを変えることができれば、入力フォームも楽ができそうですね。
しかしここまで調べるのえらい時間かかった…。