【问题标题】:Grails: display linked table value in list.gsp instead of idGrails:在 list.gsp 中显示链接表值而不是 id
【发布时间】:2013-12-27 15:44:59
【问题描述】:

让我先说明这仅适用于 /list/ 视图而不适用于其他视图。这与下拉菜单无关

我有两张桌子:

[作者] - ID - 名称

[书籍] - ID - 标题 - 作者

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

我无法在其他地方的 /list/ 视图中找到将“id”转换为“name”的方法,而且我已经将近一年没有使用 grails(耶 rust)。提前感谢您的指导。

【问题讨论】:

  • 请贴出无效的代码。
  • 这就是问题所在;这不是代码中断,而是产生功能。原样的响应是正确的;我正在尝试改变它。
  • 所以你只需要知道如何修改脚手架视图?您是生成视图还是让 grails 动态地完成所有这些操作?
  • 我让 grails 生成所有内容,然后进行更改。我为实际的“书”表单执行了此操作(添加了指向“作者”表的 g:select 以进行名称/ID 配对)。我正在考虑向控制器添加“选择...”def,但认为有一种更简单的方法我不确定(修改 fieldValue/bean 调用?)。谢谢。

标签: grails grails-orm


【解决方案1】:

试试这个:

class Author {

    String name

    static mapping = {
        id name: 'name'
    }
}

如果您使用的是静态脚手架,请不要忘记为 Author 和 Book 域类重新生成视图:

grails> generate-views com.yourPackage.Author
grails> generate-views com.yourPackage.Book

【讨论】:

  • 也许作者变量“name”与 id 映射参数 name 有冲突。尝试将 Author 变量名称更改为类似 lastName 的名称,然后将映射更改为 id name: lastName
猜你喜欢
  • 2016-12-17
  • 1970-01-01
  • 2015-10-11
  • 2017-12-28
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-04
相关资源
最近更新 更多