如何在list.gsp而不是id中显示链接表值? Grails的

时间:2016-08-10 18:35:47

标签: mysql grails gorm

所以我有两张桌子彼此相连, 在Create.gsp中,我有一个下拉列表显示其他表中的值,当用户点击save时,它会将此值的Id存储在数据库中, 但是我想显示值本身而不是列表gsp上的id 可能吗?

我有两张桌子:

[Authors] - id - name

[Books] - id - title - author

在图书表单(创建/编辑)中,我可以获取“作者”字段以显示作者的姓名(来自作者的表而不是id)而不会出现问题,但是当我查看/ list / view时,它显示作者的id而不是名称(正确,因为这是存储在DB中的内容)。

2 个答案:

答案 0 :(得分:2)

覆盖作者域中的toString方法。像这样:

String toString(){
    name
}

答案 1 :(得分:0)

现在您有列表ID,因此您可以使用OptionKey =“id”在GSP页面中显示值。

 // I guess your Value should be id here     
   <g:select name="author" from="${authors.list()}" optionKey="id" optionValue="author"
              value="${author?.id}"
              noSelection="['':'-- Select Author --']" />

如果您将值存储在数据库中,则可以尝试以下代码。

       <g:select name="author" from="${recommendation.list()}" 
          value="${author}"
          noSelection="['':'-- Select Author --']" />