Как исправить ошибку Grailed 500 Внутренняя ошибка сервера для «Нет такого свойства. "" для класса' - PullRequest
0 голосов
/ 11 апреля 2019

Я просто создаю веб-сайт на Grails и у меня просто возникают проблемы при создании формы поиска

У меня есть система, в которой я могу искать пациентов по данным, которые я создал.

Я настроил форму, страницу поиска, страницу результатов и файл контроллера, и она работала хорошо, пока страница результатов не извергает эту ошибку.

Имя класса домена - Patient, так что следуетбыть установленным правильно.

Похоже, что файл контроллера и страница результатов не соединяются

Я получаю полную ошибку;

URI /patient/advResults
Class groovy.lang.MissingPropertyException
Message null
Caused by No such property: patients forclass:grails.orm.HibernateCriteriaBuilder

Здеськод моей страницы результатов;

Searched

for patients matching <em>${term}</em>.

Found <strong>${patients.size()}</strong> patients.

</p>



<ul>

<g:each var="patient" in="${patients}">

<li><g:link controller="Patient" action="show" 
id="${patient.id}">${patient.patientName}</g:link></li>

</g:each>

Это то, что я написал в файле контроллера;

def advResults() {
def patientProps = Patient.metaClass.properties*.name
def patients = Patient.withCriteria {
"${params.queryType}" {
params.each { field, value ->
 if (patientProps.grep(field) && value) {
ilike(field, value)
}
}
}
return [ patients : patients ]
}
}

1 Ответ

0 голосов
/ 11 апреля 2019

Я думаю, вы должны сдвинуть линию

return [ patients : patients ]

1 строка вниз. Теперь вы возвращаетесь изнутри withCriteria{} закрытия ...

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