从创建到编辑页面的Grails复制创建按钮不起作用,我缺少什么

时间:2014-02-04 13:31:58

标签: grails controller

我使用grails中的库存屏幕几位来节省时间。我同时拥有编辑和创建视图,两者都非常相似(编辑视图有一些额外的隐藏字段来存储场景的ID等)。

在我的控制器中,我有一些基本的方法,一个名为save one的称为update,它们最终都会转到一个新的saveAll方法(save方法会事先做一点,以便最初插入一些表条目并得到一个id,而更新只是直接进入saveall方法,而不做任何其他事情。)

saveall方法执行清除/更新和将数据插入表格的所有工作(因为我使用了大量需要更新的连接表)。

我的思维过程是创建按钮通过save方法,更新按钮通过更新方法。所以,如果我复制"创建"从创建页面按钮并将其粘贴到编辑页面然后我实际上得到了一个"克隆"按钮(因为它应该经历插入新记录而不是更新现有记录的过程。)

然而,当我点击那个按钮时根本没有任何事情发生,它只会回到列表视图,我不知道我错过了什么。可能是非常基础的东西,任何人都有任何线索?

创建页面上的创建按钮如下所示: -

Grails的

 <g:submitButton name="create" class="save" value="${message(code: 'default.button.create.label', default: 'Create')}" />

HTML

  <input id="create" class="save" type="submit" value="Create" name="create">

复制到编辑页面的相同按钮看起来完全一样,所以为什么它根本不做任何事情(我甚至在println中添加到保存方法中并且没有受到了打击。)

希望有人能指出我在这里犯下的明显错误,因为我迷失了!

1 个答案:

答案 0 :(得分:1)

抱歉,我是个白痴。我需要做的就是复制保存行并将动作“更新”改为“保存”,嘿presto一切都很好。

所以我复制了: -

<g:actionSubmit class="save" action="update" value="${message(code: 'default.button.update.label', default: 'Update')}" />

并将其更改为: -

<g:actionSubmit class="save" action="save" value="Clone" />

现在一切都很好!