在我的域模型中,某些类将枚举的集合作为字段。我以两种不同的方式对其进行建模,作为嵌入式集合:
class A {
String name
Set<Enumeration> enumerations
static embedded = ['enumerations']
}
enum Enumeration {
ENUM_VALUE_1,
ENUM_VALUE_2,
ENUM_VALUE_3
}
并且作为hasMany集合:
class A {
String name
static hasMany = [enumerations:Enumeration]
}
enum Enumeration {
ENUM_VALUE_1,
ENUM_VALUE_2,
ENUM_VALUE_3
}
在两种情况下,都可以通过以下方式将枚举值添加到BootStrap.groovy中的集合中:
A.withTransaction { status ->
def a1 = new A( name:"a1" )
a1.addToEnumerations( Enumeration.ENUM_VALUE_1 )
a1.addToEnumerations( Enumeration.ENUM_VALUE_2 )
}
使用脚手架,我可以在索引和显示页面中看到枚举集合的内容,但是在编辑和创建页面中,仅显示标签,不显示小部件。
这是显示窗口小部件的最简单方法,例如多个选择,Grails 4中的此类字段(我正在使用Grails 4.0.3)?
提前致谢。
最佳答案
Which is the simplest way to show a widget, e.g. a multiple select, for this kind of fields in Grails 4 (I am using Grails 4.0.3)?
您可以使用
select
标记。<g:select multiple="true" name="someName" from="${somePackage.SomeEnumClassName}"/>
关于grails - 如何在Grails 4中的创建和编辑表单中添加多个枚举字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61593017/