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"])
,
Также не стоит писать такой код в представлении. Сделайте это частью вашей модели и подготовьте ее в контроллере.