2010-11-26 3 views
2

Я хочу, чтобы получить доступ к списку организаций из объекта пользователя в main.gsp:Grails: жадная загрузка не работает

<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

Вы уверены, что это проблема с нетерпением? Выглядит больше как проблема с сеансом. – mfloryan 2010-11-26 10:13:03

ответ

3

Это не ясно из вашего кода, но я собираюсь предположить, что у вас есть много-ко-многим здесь, основываясь на свойстве belongsTo.

Мне удалось воспроизвести это с помощью Grails 1.3.5. Проблема только влияет на сторону отношения, которое имеет свойство belongsTo. Если бы вы попробовали тот же код с организацией -> пользователи, это сработало бы.

Исправить довольно странно: сделайте users на Organization не ленивым тоже.

Этот человек должен будет сделать это в серии GORM Gotchas!

Смежные вопросы