在grails中使用自定义id时出错
我想要一个自定义id,因为默认情况下grails处理id名称。我有这样一个域类:在grails中使用自定义id时出错,grails,Grails,我想要一个自定义id,因为默认情况下grails处理id名称。我有这样一个域类: class User { Long id_user String name ... static mapping = { id generator: 'increment', name: "id_user", type: 'Long' } ... } 当我保存用户时,会出现以下错误“无法重定向对象[project.user:(未保存)],它不是域或没有标识符
class User {
Long id_user
String name
...
static mapping = {
id generator: 'increment', name: "id_user", type: 'Long'
}
...
}
当我保存用户时,会出现以下错误“无法重定向对象[project.user:(未保存)],它不是域或没有标识符。在保存操作中使用显式重定向
def save(User user) {
if (user == null) {
notFound()
return
}
try {
userService.save(user)
} catch (ValidationException e) {
respond usuario.errors, view:'create'
return
}
request.withFormat {
form multipartForm {
flash.message = message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), user.id])
redirect user
}
'*' { respond user, [status: CREATED] }
}
}
为了纠正错误,我尝试将user.id
user放入save函数中,但它也不起作用。如果不建立一个测试用例来重现这个错误,它看起来很可疑
redirect user
试图重定向到<代码> /Up/Stuts/< /C> >,正如错误消息所建议的,考虑用替换这个
redirect(action: 'show', params:[id:user.id_user])
我不太熟悉自定义id
s,所以我不确定所有的细微差别,但是您使用的重定向快捷方式可能没有正确地尊重它们