【发布时间】:2011-07-27 09:30:45
【问题描述】:
我有 2 个域类,如下所示
class User
{
String userId
String userName
SsGroups groups
**static hasMany = [groups:SsGroups]
static belongsTo=SsGroups**
}
class SsGroups
{
String groupId
**static hasMany = [users:User]**
}
我实现了多对多关系,它工作得很好。现在我想从 SsGroups 中选择多个组到单个 User,这是 中的代码>用户,创建.gsp。
<g:select name="groups.id" multiple="yes" from="${app.SsGroups.list()}" optionKey="id" value="${userInstance?.groups?.id}" />
但在保存时出现错误提示 错误 500:执行控制器 [app.UserController] 的操作 [save] 导致异常:groovy.lang.MissingMethodException:没有方法签名:app.SsGroups.get() 适用于参数类型:(java.lang.String, java .lang.String) 值:[2, 3] 可能的解决方案:get(java.lang.Object)、getId()、getAt(java.lang.String)、list()、getAll()、getLog()。 请您指导我如何选择多个值并存储它们??
此控制器用户:
def save = {
def userInstance = new User(params)
if (userInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), userInstance.id])}"
redirect(action: "show", id: userInstance.id)
}
其中没有get() 方法。我需要在哪里写getAll() 方法?
【问题讨论】:
-
向您展示控制器方法\代码是否有帮助。
标签: grails