2009年12月27日日曜日

数値のinList

grailsで, constraintsに"inList:['foo', 'bar', 'baz']などと書いておけば, scaffold画面ではselectorが使われるが, 文字列ではなく数値だとNull Pointer Exceptionになる. このときは次のようにしておけばよい.
$ grails install-templates
で, /src/templates/scaffolding/renderEditor.templateのrenderNumberEditor()メソッドの"if (cp.inList) { ... }" の...部分をrenderStringEditor()の同じ部分と入れ替える.
1.3では直すといっているけどね.
ちなみに画面ではうまくいくが, GORMのレベルでの制約評価の対象とはならない.