问题来重新渲染正确PARAMS一个视图当用户离开表单字段为空

我使用的是noSelection在属性<g:select>的吊牌Account为我场Load create视图。 当用户不进行选择并单击“创建”按钮,我希望所有的表单域的当前值传递给save封在我的Load控制器,从而重新调用create视图,并填充这个观点前面提到的当前值。 这不会发生对我的两个表单字段,我不清楚为什么。

以下是该Load create视图被叫/truckingmanagement/load/create控制器的样子:

问题来重新渲染正确PARAMS一个视图当用户离开表单字段为空


如果用户没有作出关于在选择Account域,然后前进到点击“创建”按钮,负载显然不能被创建。 以下是所产生的Load create视图被叫/truckingmanagement/load/save控制器的样子:

问题来重新渲染正确PARAMS一个视图当用户离开表单字段为空


所以,我这里有两个问题,其中第一个就是Logged By现场的第二种观点是不填充在第一视图中选择的值。 此外,下拉框完全是空的,没有用户选择。 第二个问题是, Account场下拉框,完全是空的,没有应收选择。

下面是<g:select>用于标签Logged ByAccount在田里Load create视图。

Logged By域:

<g:select name="loggedBy.id" from="${loggedByUsers}" optionKey="id" value="${loadInstance?.loggedBy?.id}" />

Account领域:

<g:select id="account" name="account.id" from="${accountsWithCargoDestinations}" optionKey="id" noSelection="['':'-Select-']" />

下面是createsave在我的倒闭LoadController

def create = { Role role1 = Role.findByAuthority("ROLE_ADMIN") Role role2 = Role.findByAuthority("ROLE_OFFICE_PROFESSIONAL") Role role3 = Role.findByAuthority("ROLE_DRIVER") def loggedByUsers = UserRole.findAllByRoleInList([role1, role2, role3]).user def loadInstance = new Load() loadInstance.properties = params def accountsWithCargoDestinations = Account.findAllByUserInList(Address.findAll("from Address as addresses where addresses.cargoDestination=true").user) return [loadInstance:loadInstance, loggedByUsers:loggedByUsers, accountsWithCargoDestinations:accountsWithCargoDestinations] } def save = { def loadInstance = new Load(params) if (loadInstance.save(flush: true)) { flash.message = "${message(code: 'default.created.message', args: [message(code: 'load.label', default: 'Load'), loadInstance.id])}" redirect(action: "show", id: loadInstance.id) } else { System.out.println params //Trying to see if any values from the problem fields got lost. render(view: "create", model: [loadInstance: loadInstance]) } }

您会在通知println语句中else我的一部分save关闭它打印出params 。 当我这样做,我发现,在选择的值Logged By在第一视野确实是从第一个视图一路传递到这一点正确的,但我不知道为什么它不显示当Load create视图呈现在代码的最下一行,或者至少,为什么东西 (即loggedByUserstruckingmanagement/load/create控制器)不填充的Logged By视图时呈现的领域。 任何帮助,将不胜感激,并遗憾的详细程度。

--------------解决方案-------------

要回答在评论回应提出你的问题。 你可能想在你的控制器使用链进行调查。 您将需要重新工作,你的行动创造一点点,只实例的新loadInstance如果不是已经存在的模式。 但是,应该做的伎俩。

分类:Grails的 时间:2015-03-15 人气:0
本文关键词: Grails的,常规
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.912 (s). 10 q(s)