所以我有两张桌子彼此相连,
在Create.gsp
中,我有一个下拉列表显示其他表中的值,当用户点击save
时,它会将此值的Id
存储在数据库中,
但是我想显示值本身而不是列表gsp上的id
可能吗?
我有两张桌子:
[Authors] - id - name
[Books] - id - title - author
在图书表单(创建/编辑)中,我可以获取“作者”字段以显示作者的姓名(来自作者的表而不是id
)而不会出现问题,但是当我查看/ list / view时,它显示作者的id
而不是名称(正确,因为这是存储在DB
中的内容)。
答案 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 --']" />