Combobox 无法使用grails控制器保存extjs组合
我是grails/extjs的新手我正在为我的团队开发一个基于web的配置工具。我的问题是extjs的组合框我有三个远程组合框(多对一hibernate mappng)。我使用hiddenName提交其值字段(这是数据库的id主键)而不是它的显示字段,它是我通过将其呈现为json而获得的名称。如果我选择diff index,而不是从db加载并尝试更新它,我会如何看待它。它肯定会将其作为参数发送,但在grails的save方法中,它不会更新 我想知道为什么? 我粘贴了combobox和grails方法的代码段Combobox 无法使用grails控制器保存extjs组合,combobox,extjs,grails-controller,Combobox,Extjs,Grails Controller,我是grails/extjs的新手我正在为我的团队开发一个基于web的配置工具。我的问题是extjs的组合框我有三个远程组合框(多对一hibernate mappng)。我使用hiddenName提交其值字段(这是数据库的id主键)而不是它的显示字段,它是我通过将其呈现为json而获得的名称。如果我选择diff index,而不是从db加载并尝试更新它,我会如何看待它。它肯定会将其作为参数发送,但在grails的save方法中,它不会更新 我想知道为什么? 我粘贴了combobox和grails
{
xtype : 'combo',
id:'cpsServerid',
fieldLabel : 'CpsServer',
name : 'cpsServer',
//hiddenId:'cpsID',
hiddenName:'cpsID',
store: cpsServerStore,
displayField:'NAME',
valueField:'ID',
editable:true,
typeAhead:true,
mode:'remote',
triggerAction:'all',
width:300,
autoScroll:true,
selected:name,
selectOnFocus:true},
圣杯拯救
def saveApplicationSubscription = {
println "saveApplicationSubscription, params = $params"
ApplicationSubscription subscription
if (params.id) {
subscription = ApplicationSubscription.get(params.id as int)
subscription.cpsServer = CpsServer.get(params.cpsID as int)
subscription.topic = params.topic
subscription.description = params.description
subscription.subscriberApplication = SubscriberApplication.get(params.subAppID as int)
subscription.outputQueue = OutputQueue.get(params.outputID as int)
bindData(subscription , params)
}
else {
params.id = 0
subscription = new ApplicationSubscription(params)
subscription.id = params.id as int
subscription.cpsServer = CpsServer.get(params.cpsID as int )
subscription.topic = params.topic
subscription.description = params.description
subscription.subscriberApplication = SubscriberApplication.get(params.subAppID as int)
subscription.outputQueue = OutputQueue.get(params.outputID as int)
// subscription.messageFormat = params.messageFormat
}
if (subscription.save()) {
log.info("Saved ApplicationSubscription $subscription")
render([success: true] as JSON)
}
else {
log.info("Failed to save ApplicationSubscription $subscription, errors = ${subscription.errors}")
render([success: false, errors: subscription.errors] as JSON)
}
}
我真的很乐意提供任何帮助您是否在Firebug控制台选项卡中验证了您的帖子是否与您期望的一样?这将确认您的问题是否在客户端或服务器上