В настоящее время я использую Grails 2.5.4 с плагином MongoDB (org.grails.plugins: mongodb: 6.0.0.RC1), и всякий раз, когда я пытаюсь обновить список любого класса домена, он не работает, например : классGrails MongoDB Списки не обновляются, я что-то не так?
Votation:
class Votation {
String question
int minVotes
List <VoteOption> options
User owner
Chat chat
static belongsTo = [chat: Chat]
static embedded = ['options']
static constraints = {
owner nullable: false
chat nullable: false
//question nullable: false
}
класс VoteOption:
class VoteOption {
String option
String url
List <User> voters
static belongsTo = [chat: Chat]
}
Когда я пытаюсь обновить список:
//some more code...
Votation votation = Votation.findById(votationId as Long)
VoteOption option = votation.options.find { it.option == votationOption }
User user = User.findOrCreateNew(params.user)
if (option.voters) {
option.voters.add(user) // THIS DOESN'T WORK!
}
else {
option.voters = [user] //This DOES work
}
Это всего лишь пример, у меня есть еще 2 класса домена, которые также имеют списки, и они тоже не работают. Перезапуск Grails не исправляет это, и это также происходит на компьютере другого разработчика, так что это не мое окружение. Все остальное сохраняется правильно
Это не 'option.voters.add (пользователь)' при использовании GORM это 'option.addToVoters (пользователя)'. –