Выбор Grails не будет отображать строку из вложенного класса - PullRequest
1 голос
/ 06 января 2012

Я пытаюсь сделать что-то довольно простое, что, видимо, не так просто.У меня есть класс домена:

class Regex {
    String name
    String Regex 
}

и другой класс:

class RegexRef {
    int sequenceNumber
    Product product
    Regex regex
}

Теперь в выборке я хочу перечислить экземпляры RegexRef с именем регулярного выражения в качествеoptionValue как таковое:

<g:select name="regexRef.id" from="${com.mycompany.RegexRef.list()}" optionKey="id" size="5" optionValue="regex.name" value="${actionRefInstance?.regexRef?.id}"  />

, но это не работает.Выдает: Сообщение об исключении: Нет такого свойства: regex.name для класса: com.jetheaddev.RegexRef

Я могу сделать это неправильное направление в других конструкциях ...

<g:link controller="regexRef" action="show" id="${actionRefInstance?.regexRef?.id}">${actionRefInstance?.regexRef?.regex.name.encodeAsHTML()}</g:link>

иработает нормально.

1 Ответ

2 голосов
/ 06 января 2012

С optionValue="regex.name" <g:select/> пытается получить свойство RegexRef как:

regexRefInstance."regex.name"

Чтобы получить свойство name в классе Regex, выполните:

<g:select optionValue="${{it.regex.name}}"/>

, который будет запускать optionValue Closure для каждой записи в списке и извлекать соответствующее свойство name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...