我想从main.gsp中的用户对象访问组织列表:
<g:select name="effectiveOrganisation"
from="${session.user.organisations}" optionKey="id" optionValue="name"
value="${session.effectiveOrganisation?.id}" />
用户对象由以下类定义:
class SystemUser {
static hasMany = [organisations: Organisation]
static belongsTo = [Organisation]
static mapping = {
organisations lazy: false
}
}
但是当我执行我的代码时,我得到了:
Exception Message: could not initialize proxy - no Session
Caused by: Error executing tag <g:form>:
Error executing tag <g:select>: could not initialize proxy - no Session
为什么渴望在这里不起作用?
答案 0 :(得分:3)
从您的代码中不清楚,但我会假设您基于belongsTo
属性在此处拥有多对多。
我已成功用Grails 1.3.5重现了这一点。问题似乎只会影响具有belongsTo
属性的关系的一面。如果您尝试使用组织相同的代码 - &gt;相反,用户可以使用。
修复很奇怪:users
上的Organization
集合也非懒惰。
这个必须进入GORM Gotchas系列!