grails - 保存相关实体

标签 grails grails-2.0 grails-domain-class grails-controller

我从两个域类保存表单值时遇到问题

一类是

 class Ip {

String inetAddress
String dns
String os



String toString(){
    "${inetAddress}"
}

Hoster hoster

static constraints = {
     ....

第二个是
  class Hoster {

    static HOSTER_OPTIONS = ["Name1", "Name2", "Name3"]
String name;

String toString(){
    "${name}"
}

List ips = new ArrayList()
static hasMany = [ips : Ip]

    static constraints = {
    name(unique: true, blank: false, inList: HOSTER_OPTIONS)
}

我有一个Controller,负责处理表单中的数据
def systems = new Ip()  
systems.inetAddress = params.ip
systems.dns = params.dns
systems.os = params.os

systems.hoster.name = params.hoster
def result = systems.save(flush: true, failOnError: true)

但是我并没有设法管理数据的保存。

最佳答案

您没有在 Controller 中正确关联域类:

systems.hoster.name = params.hoster

除了设置名称,您需要设置数据库中存在的实例:
systems.hoster = Hoster.findByName(params.hoster)

关于grails - 保存相关实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19932476/

相关文章:

jquery - 启动 Web 应用程序时出现 Groovy 异常

Grails 2.1 createCriteria 参数问题

Grails - 数据绑定(bind)一对一关联不起作用

grails - 使用 Controller 提供的模型参数注入(inject) Grails 2.4.x i18n 消息

grails - 重命名 Grails 域类中显示的字段名称

grails - 在Linux中解决BIRT插件部署问题

grails - 保存大型域对象树的提示

Grails 针对正在运行的应用程序测试执行

Grails - 多对象数据库关系

grails - GORM 事件未在集成测试中触发