фильтр Grails (findAllByName) - PullRequest
       1

фильтр Grails (findAllByName)

0 голосов
/ 17 августа 2011

gsp

<g:form controller="sort" action="filteren">
            <g:select from="${functionremote.Sort.list() }" 
            onchange="this.form.submit()" 
            value="${flash.filter}"
            name="filter"
            optionKey="id" 
            noSelection="['':'selecteer']"/>
        </g:form>  

контроллер

def filteren={
    def filterlist
    flash.filter=params.filter

    if(params.filter!=''){
        filterlist=Sort.findAllByName{params.filter)
    }else
        filterlist=Sort.list()

    params.max = Math.min(params.max ? params.int('max') : 10, 100)

    render(view:'list', model:[sortInstanceList:filterlist, sortInstanceTotal:filterlist.count()])
}

что не так с фильтром?

filterlist=Sort.findAllByName{params.filter)

когда я делаю это:

 filterlist=Sort.findAllByName{"some string")

прекрасно работает

спасибо

1 Ответ

0 голосов
/ 17 августа 2011

Полагаю, что это не работает, поскольку params.filter будет идентификатором, а не именем, поскольку ваше значение optionKey является идентификатором.Измените запрос так:

filterlist = Sort.findAllById(params.filter)

или в этом случае

filterlist = Sort.get(params.filter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...