【发布时间】:2012-01-03 19:29:11
【问题描述】:
我正在尝试设置一个 javascript 对象,以便当它数据绑定到控制器中的新对象时,会根据 id 字段提取数据库中的关联子对象。这在 Spring 数据绑定中记录如下:
数据绑定和关联
如果您有一对一或多对一关联,您可以使用 Grails 的数据绑定功能也可以更新这些关系。为了 例如,如果您有传入请求,例如:
/book/save?author.id=20
Grails 会自动检测请求中的 .id 后缀 参数并在执行时查找给定 id 的 Author 实例 数据绑定如:
def b = 新书(参数)
我想将 javascript 对象作为具有子属性的完全组合对象发布到控制器。如何设置 javascript 对象,以便控制器看到对象的子属性,如下面的 url(与记录的相同)/book/save?author.id=20?
我试过了,但它似乎不起作用:
var childObject= function(name, id) {
this.name = name;
this.id = id;
};
var viewModel = {
id: 1,
child: new childObject("Chuck",1)
}
当 viewModel 发布到控制器并自动获取相关记录时,控制器看不到“child.id”。我是否完全认为它是这样工作的?
也许另一种问这个问题的方法是我如何序列化 javascript 对象,使其字符串表示为“object.property”?
【问题讨论】:
-
您可以将您的域对象添加到您的代码中吗?另外,你能否在你在控制器中点击的闭包的开头添加一个 println(params) 以便我们可以看到你传递给 Grails 的数据?这将有助于给你一个答案
标签: javascript grails