gpt4 book ai didi

grails - 域类 hasMany 添加条目失败

转载 作者:行者123 更新时间:2023-12-01 09:35:14 25 4
gpt4 key购买 nike

我是 Grails 菜鸟,所以请原谅我的菜鸟问题。
我创建了一个域类用户和设备。用户有很多设备:设备,设备属于用户:用户。
重要的是只有 1 台设备永远不会属于两个用户,所以我的 UserController 代码如下所示:

class UserController {

static allowedMethods = [create: 'POST']

def index() { }

def create() {
def user = User.findByUsername(request.JSON?.username)
def device = Device.findById(request.JSON?.deviceId)
if (device) {
device.user.devices.remove(device)
}
// device can only be owned by 1 person
def new_device = new Device(id: request.JSON?.deviceId, type: request.JSON?.deviceType)

if ( !user ) {
user = new User(
username: request.JSON?.username
)
user.devices = new HashSet() // without this I get null on the add in next line
user.devices.add(new_device)
user.save()

if(user.hasErrors()){
println user.errors
}
render "user.create " + request.JSON?.username + " devices.size " + user.devices.size()
} else {
user.devices.add( new_device )
user.save()
if(user.hasErrors()){
println user.errors
}

render "user.create exists, new token: " + user.token + " devices.size " + user.devices.size()
}
}

}

但是现在我得到一个奇怪的服务器错误:
设备条目中的空 id(发生异常后不刷新 session )

我在这里错过了什么??

非常感谢!

最佳答案

首先,add to 有特殊的方法。和 remove from .不要直接对 hasMany 集合进行操作。也许这是有问题的。

关于grails - 域类 hasMany 添加条目失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com