#grails #groovy #virtual-machine
#grails #groovy #виртуальная машина
Вопрос:
Я просто создаю веб-сайт на grails, и у меня просто возникают проблемы с созданием формы поиска
У меня есть система, в которой я могу искать пациентов по созданным мной данным.
Я настроил форму, страницу поиска, страницу результатов и файл контроллера, и все работало хорошо, пока страница результатов не выдала эту ошибку.
Имя класса домена является терпеливым, поэтому оно должно быть установлено правильно.
Просто кажется, что файл контроллера и страница результатов не соединяются
Полная ошибка, которую я получаю, это;
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) amp;amp; value) {
ilike(field, value)
}
}
}
return [ patients : patients ]
}
}
Ответ №1:
Я думаю, вам следует сместить строку
return [ patients : patients ]
1 строка вниз. Теперь вы возвращаетесь изнутри withCriteria{}
закрытия…
Комментарии:
1. Гениально! спасибо, не знаю, почему я так не думал