grails数据绑定从select中获取id

时间:2011-05-19 19:47:27

标签: data-binding grails

哎。我有这样的事情:

class Car{
String name

}

class Volante{
String name
Car car
}

我的gsp文件:

<g:form controller="volante" action="save">
<label>Car</label>
<g:select name="car.id" from="${cm.Car.list()}" optionKey="id" value="${car?.id}"  /><br><br><br>

<label>name
</label>
<input type="text" name="name" value="${volante?.name}" />
</g:form>

def save = {
        def volante= new Volante()



        volante.car = params.car.id ################

        volante.name = params.name



          if (!volante.save(failOnError: true)) {
        render (view: "/participatedAdd", model : [volante: volante])
        return
    }

        render(view: "/participated")

    }

我有问题,我有###########。怎么能这样做=?我不知道如何将汽车ID链接到volante.car。任何帮助都会被贬低。

PS。我不使用def volante = new Volante(params),因为我的观点比这更复杂。 我是否必须使用视图“className.attribute”中的值?因为我绑定了多个域类。?

2 个答案:

答案 0 :(得分:2)

def car = Car.get(params.car.id)
volante.car = car

你尝试过这样的事吗?

答案 1 :(得分:0)

您可以尝试:

volante.car = Car.get(params['car.id'])

但您也可以使用Grails的数据绑定来绑定特定属性:

def volante = new Volante()
volante.properties['car'] = params

由于参数名称为car.id,因此Grails会识别您是通过id映射关联并为您绑定它。