使用grails在表中编辑和保存特定值
我有两个类User和UserGroup使用grails在表中编辑和保存特定值,grails,Grails,我有两个类User和UserGroup class User{ String userId String userName UserGroup usergroups static hasMany={usergroups:UserGroup} static belongsTo=UserGroup } class UserGroup{ String gid static hasMany={users:User} } 现在,我只想获取单独模板修改值中的用户组,并将其
class User{
String userId
String userName
UserGroup usergroups
static hasMany={usergroups:UserGroup}
static belongsTo=UserGroup
}
class UserGroup{
String gid
static hasMany={users:User}
}
现在,我只想获取单独模板修改值中的用户组,并将其保存回数据库
def savegroup = {
def userInstance = User.get(params.id)
if (userInstance.save(flush: true)) {
redirect(action: "show")
}
}
但是它显示了一个错误。请告诉我需要在控制器中写入什么???您想要修改特定的用户组对象。首先,必须确保传递的params.id是要更改的用户组的id。然后您必须获取正确的用户组对象,而不是用户实例
def savegroup = {
// make sure your're getting the right id!
def userGroup= UserGroup.get(params.id)
// check whether the userGroup is not null
if (userGroup.save(flush: true)) {
redirect(action: "show")
} else {
// log msg
}
}
存储组未保存组。您正在获取并保存一个userInstance,而您甚至没有修改userInstance。另外,如果不告诉我们您遇到了什么错误,我们也无法帮助您。错误500:执行控制器[app.UserController]的操作[savegroup]导致异常:无法在null对象上调用方法save这是我遇到的错误。请告诉我需要更改什么而不是userInstance??感谢tou@hitty5,我正在选择多个值。我可以使用getAll方法吗?您必须将所选ID传递给控制器。在那里,您可以调用例如UserGroup.getAllparams.list['SelectedDS']