grails - 一对多(或一个)级联创建 View

标签 grails one-to-many scaffolding one-to-one create-view

我有两个域:

class A {
 String name
 B b
}

class B {
 String code
}

我使用默认的脚手架。当我转到 A ListView 时,我无法创建 A 实例,因为我错过了 B 实例;这里是gsp
<g:if test="${B?.list()}">
</g:if>
<g:else>
    <g:link class="create" action="create" controller="b">
        <g:message code="default.new.label" args="['b']" />
    </g:link>
</g:else>

如果我单击创建 B 链接,我可以创建一个 B 实例,但我失去了与我正在创建的 A 对象的“连接”。
在这种情况下有什么好方法来支持用户吗?
一个想法可以是在模态框中打开创建 B 链接,可以吗?

最佳答案

只需将 A 的 ID 添加到参数中:

<g:link class="create" action="create" controller="b" params="[ 'a.id': aInstance.id ]">

键只是适应域类 B 中的关系属性。

关于grails - 一对多(或一个)级联创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12260822/

相关文章:

grails - Groovy:使用Grails和Spring安全核心插件时出现意外 token

grails - 关系1 a 1错误插入数据

json - grails NullPointerException 保存双向一对多关系模型

asp.net-mvc - 定义脚手架。 (关于动态数据和 ASP.NET MVC)

java - Spring/Hibernate 实体管理 Web 界面/UI

hibernate - 计算hasMany属性的长度

grails - 在 Grails 模板命名空间中,如何使用另一个目录中的模板

mysql 一对2多表连接

c# - EF 6 - 一对多映射始终为空

asp.net-mvc - 具有 Entity Framework 的 MVC Controller 的 T4 模板 - 主机的成员属性 (MvcTextTemplateHost)?