Grails Master-详细说明如何从表单管理

时间:2017-03-13 21:14:32

标签: forms grails master-detail

阅读使用Grails的主 - 细节结构非常令人困惑。 我认为用数据库术语理解它我没有问题,但是用grails中的模型然后...... 我想充其量只使用一个表单来创建主页并重定向到编辑表单,我可以在其中添加新的详细记录并将其显示为底部的列表。 在编辑表单中,我单击一个链接,打开详细信息的创建表单,我在其中输入数据并将其保存并返回编辑表单,同时使用包含新详细信息的行进行更新。

我已经搜索了很多,但找不到任何可以帮助我理解我应该如何编码控制器来管理它的东西。 你完成这一次可能很简单,所以我希望我能在这里得到帮助。

1 个答案:

答案 0 :(得分:0)

基本上这是一个格式化的javascript问题,它确实绑定到grails。

您想要的是页面上的两个标签,因此要求jquery jquery-ui

如果你运行的是包含bootstrap的grails的更高版本,那么在assets/javgascripts/application.js中包含jquery-ui行预引导行,否则你的ui-tabs将无效

assets/css/application.css

*= require bootstrap
*= require jquery-ui-1.9.2.custom.min

javascripts/application.css

//= require jquery-ui-1.9.2.custom.min
//= require bootstrap

使用该集合,您现在可以使用jquery ui

现在你需要在gsp中创建两个标签:

<!-- first tab at top -->
<div id="myTabs">
    <ul id="topTab">
        <li class="topLi"><a name="#mainTab" >
            <g:message code="mainForm.label"/></a></li>
<li class="topLi"><a name="#mainTab1" >
            <g:message code="anotherTab.label"/></a></li>
        /span></a></li>
    </ul>
    <div id="bottomSection">
        <div id="#mainTab1">
            <g:render template="/path/toMainForm"/>
            <div class="clearfix"></div>
        </div>
        <div id="#mainTab1">
            <g:render template="/maybe/another/form"/>
            <div class="clearfix"></div>
        </div>
    </div>
</div>
<!-- 2nd tabs at bottom -->
<div id="myTabs2">
    <ul id="botTab">
    <!-- make correct url to show all records for the child return that as a template that then renders below -->
       <li class="topTab2A"><a name="#resetPass" href='${createLink(controller:'myController',action:'showChild',)}'>
            <g:message code="reset.password"/></a></li>
<!--3rd tab on page declaration box where above li click will end url on either way not really needed it auto generates content li for above url-->
<ul id="ui-tabs-3" class="property-list"></ul>
    </ul>

<script>
    $('#myTabs,#myTabs2').tabs();
</script>

使用标签时,请务必确保正确关闭div,否则页面将无法正确加载

模板中顶部的第一个标签应包含您的主表单。

底部标签是动态标签,默认情况下会加载我认为li的内容(如果没有点击时)会动作li href并动态加载其下方的容器中的内容....

然后,您需要研究如何在需要时自动加载给定选项卡等。

你也可以使用动态加载到div中的ajax表单方法。这个example project进入实时表单但不是你提出的问题。

除了编写这样一个问题的代码之外,我认为需要更多的研究实施,以及那里的问题

给你这个想法玩游戏