哎。我有这样的事情:
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”中的值?因为我绑定了多个域类。?
答案 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映射关联并为您绑定它。