在Grails中如何捕获g中的多个选定项:select?

nat*_*han 1 grails layout views

我有一个Contact Domain类,可以与多个组织关联,这些组织也是域类.我想使用多选框来允许用户选择与当前联系人关联的组织.选择框中填充了可用的组织.如何将所选项目分配到Contact类中的组织列表?

 <g:select name="organizations.id"  
           multiple="multiple" 
           optionKey="id" 
           from="${com.ur.Organization.list()}" 
           value="${contact?.organizations}" />
Run Code Online (Sandbox Code Playgroud)

以上是我目前正在尝试的内容,虽然它确实填充了组织的选择,但似乎并没有将所选项目放在我的组织字段中.

谢谢你的建议.

编辑:来自krsjunk和omarello的评论.

这是域类的缩写版本.

class Contact{
    static searchable = true
    static mapping = {
        sort "lastName"
    }
    String firstName
    String lastName
    .  
    .
    .
    static belongsTo = [organizations:Organization, projects:Project]
}

class Organization {
    static searchable = true
    static mapping = {
        sort "name"
    }
    String name
    static hasMany = [contacts:Contact]
}
Run Code Online (Sandbox Code Playgroud)

oma*_*llo 5

好吧,只需将名称更改为

<g:select name="organizations"  multiple="multiple" 
          optionKey="id" 
          from="${com.ur.Organization.list()}" 
          value="${contact?.organizations}" />
Run Code Online (Sandbox Code Playgroud)

应该工作正常,只是尝试过.

请注意,我的域名定义如下所示(以防万一你有不同之处)

class Contact {

    static constraints = {
    }

    static hasMany = [organizations:Organization]

    String name
}


class Organization {

    static constraints = {
    }

    static hasMany = [contacts:Contact]
    static belongsTo = [Contact]

    String name
}
Run Code Online (Sandbox Code Playgroud)