2014-09-29 5 views
1

나는이하위 항목

class Thing { 
    String name 
    static hasMany = [ 
    variants: Variant 
    ] 
} 

나는에 복도 렌더러를 얻으려고이

class Variant { 
    String name 
    static belongsTo = [ 
    thing: Thing 
    ] 
} 

같은 다른 하나처럼 보이는 Grails의 도메인 클래스를 가지고 깊은 렌더링을해라.

그럴 수 있습니까? 어떻게해야합니까?

+0

나는 똑같은 것을 궁금해하고 있었기 때문에 대답이 있었으면 좋겠다. 나는 HalJsonRenderer와 HalJsonCollectionRenderer를 확장하면서 어지럼 쳤고, 약간의 Reflection을 사용하여리스트를 골라 내고 렌더링 할 수 있다고 가정한다. 솔직히 내가 자식 컬렉션을 URL로 렌더링하려고한다고 생각했습니다. 마치 블로그에 댓글을 달고있는 것처럼 블로그/1/댓글과 같은 링크를 반환합니다. – deusprogrammer

+0

새로운 기능이 있나요? ... 같은 상황에서 나는 그것을 고칠 방법을 생각할 수 없다. – Rafael

답변

0

여기에 같은 문제는 그것을는 (아주 좋은되지 않음) 해결 방법은 Grails의 (https://jira.grails.org/browse/GRAILS-10954)

에서 알려진 버그를 보인다

@Transactional(readOnly = true) 
class ProductController extends RestfulController { 
    def halPCollectionRenderer 
    def halPRenderer 

    static responseFormats = ['hal','json'] 

    ProductController() { 
     super(Product) 
    } 

    @PostConstruct 
    void init() { 
     halPCollectionRenderer.mappingContext = mappingContext 
     halPRenderer.mappingContext = mappingContext 
    } 

    MappingContext getMappingContext() { 
     final context = new KeyValueMappingContext("") 
     context.addPersistentEntity(Product) 
     context.addPersistentEntity(Category) 
     return context 
    } 
} 

는 도움이되기를 바랍니다.

+0

그건 그렇고 나를 위해 일하지 않는 둘 다 : ( – Rafael