Специфичное для языка значение в гралях inList - PullRequest
0 голосов
/ 12 марта 2011

Пользователи моего приложения имеют возможность выбрать некоторые значения из списка.Значения для этого списка находятся в простом доменном классе, Foo, который выглядит так:

class Foo{

    String name

    static mapping = {
        id name: 'name', generator: 'assigned'
        version: false
    }
}

Foo выглядит одинаково для всех языков, которые использует мое приложение.В другом классе у меня есть ограничение, говорящее, что Бар должен быть в списке Foo.Иногда пользователь не знает, что выбрать, поэтому он может выбрать что-то вроде «Я не уверен» (поэтому этот параметр должен быть в списке, чтобы соответствовать ограничению inList).Дело в том, что «я не уверен» написано по-разному на разных языках.Как добавить это значение на основе текущих сообщений в ограничение inList?

Ответы [ 2 ]

1 голос
/ 13 марта 2011

В вашем контроллере вы можете сделать:

def theList = foo.list().name // Get any array of strings. 
                              // If you actually need > 1 field then you probably need to 
                              // put the g.message below in a map

theList << g.message(code:"im.not.sure")
0 голосов
/ 13 марта 2011

Я не верю, что ограничение inList поможет вам в этом - оно разработано для более простого варианта использования, чем ваше.

Я бы добавил метод к классу getLanguages ​​(), который обрабатывает это, а затем, поскольку вам кажется, что вы заинтересованы в проверке, напишите специальный валидатор, чтобы убедиться, что правильные значения сохранены.

...