Grails - 选择标签

时间:2014-05-28 02:34:11

标签: grails grails-2.0 grails-controller

我有一个问题,我相信这很简单。我用Google搜索,书籍等,但无法解决我的问题。

问题是,我有一个名为“Group”的域名和另一个名为“Rules”的域名。一个组可以有多个规则,所以我是组域类:

class Grupo {
  String nome

  static hasMany = [rules: Rules]

  static mapping = {
      rules cascade: 'all-delete-orphan'
  }
}

域规则只有一个名为“nome”的属性

在我的gsp中我做了如下:

<g:select
   class="form-control"
   name="grupo.rules"
   from="${iquem.Rules.list()}"
   multiple="multiple"
   optionValue="nome"
/>

但如果我在我的控制器上println grupo?.rules我总是收到空

请有人帮助我吗?

1 个答案:

答案 0 :(得分:0)

因为你将select的多个属性设置为:multiple =“multiple”,如果你向控制器提交表单,params的名称不是grupo.rules而是grupo.rules []因为它是一个包含多个值的数组。

否则,如果您不执行表单提交,并执行以下操作:

grupo = Grupo.findByNome("Anome") 

并且在你执行了println grupo?.rules并且你重复null后,原因可能是:

  1. grupo为null - &gt;您的查找与持久层中的任何内容都不匹配
  2. grupo在规则中没有任何孩子
  3. 希望这个帮助,再见。