у меня есть 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 в одну Пользователь , вот код в Пользователь , create.gsp .
<g:select name="groups.id" multiple="yes" from="${app.SsGroups.list()}" optionKey="id" value="${userInstance?.groups?.id}" />
но при сохранении появляется сообщение об ошибке
Ошибка 500: Выполнение действия [сохранить] контроллера [app.UserController] вызвало исключение: 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()
метод?