这就是我试图做的事情。
Form1 - > PCController - > PC - >数据库
Form2 - > GPCController - > PC - >数据库
所有域类都映射到DB
在创建/编辑期间,Form2将被重定向到PCController和随后的显示/编辑页面,因为创建的对象是PC类型,它自动连接到该控制器。
<g:link action="show" controller="gPC" resource="${pCInstance}" params="[noheader: params.noheader]"><g:message code="default.button.show.label" default="Cancel" /></g:link>
我尝试将pCInstance切换为gPCInstance。控件转到GPCController,但gPCInstance不是对象实例,因此当它到达GPCController时返回null
如何使此方案有效运作?
答案 0 :(得分:1)
这样的事情的答案是微不足道的,你有几个选择:
根本不要声明控制器。然后,这将使其在当前行动中执行所需的操作。
&lt; g:link action =“show”resource =“$ {pCInstance}”params =“[noheader:params.noheader]”&gt;
然后,这将执行show动作呈现该视图。
将其声明为controllerName:
<g:link action="show" controller="${controllerName}" resource="${pCInstance}" params="[noheader: params.noheader]"><g:message code="default.button.show.label" default="Cancel" /></g:link>
后者对于找出你所在的位置if actionName == currentAction
等等更有用....
无论如何要小心使用它,但这应该指导你如何解决它,通常这是围绕重复菜单选项等动态模板的方法