GORM: как получить только два значения для выпадающего

В Grails, использующих GORM, я хотел бы получить два возможных значения для выпадающего списка. В данном конкретном случае в раскрывающемся списке могут быть только две возможные страны. Я установил их в моем Config.groovy

Утверждение GORM, которое я сделал, возвращает только США, и я хотел бы также вернуть Канаду - так что у меня выражение findAll немного неверно. Кто-нибудь может мне помочь?

Country<g:select name="Country"  from="${....country.findAllById("100225","100038").sort{it.orderNumber}}" value="otherstuff" class="form-control" required="" aria-labelledby="country-label"/>

Config.groovy:

country.usa=100225
country.canada=100038

Класс домена:

class country {

    String name
    String value
    int orderNumber = 0

    static constraints = {
        name nullable:false, maxSize:50, blank:false
        value nullable:false, maxSize:100, blank:false
    }

    String toString(){
        "$name - $value"
    }

    static mapping = {
        table 'country'
        cache: 'read-write'
        columns{
            id column:'id'
            name column:'name'
            value column:'value'
            orderNumber column:'order_number'
        }
        id generator: 'assigned'
    }
}

1 ответ

Решение

Вы должны скорее использовать findAllByIdInList(["100225","100038"]),

Также не стоит писать такой код в представлении. Сделайте это частью вашей модели и подготовьте ее в контроллере.

Другие вопросы по тегам