首页 > 解决方案 > 如何修复“无此类属性”的 grailed 错误 500 内部服务器错误。““ 上课'

问题描述

我只是在 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 ]
}
}

标签: grailsgroovyvirtual-machine

解决方案


我认为你应该换线

return [ patients : patients ]

1行下来。withCriteria{}现在你从封闭内部返回......


推荐阅读