2010-11-25 4 views
0

3 개의 도메인 클래스가 있습니다 : 기사, 사용자 & 언어. 모든 기사는 지정된 언어로 사용자가 작성합니다. (사용자 - 기사 : 1 - 많은) : (- - 많은 1 언어 조) 그래서 관계는Grails belongsTo 사용

나는 시도 : 여기

class Product { 

    static belongsTo = [user:User] 
    static belongsTo = [language:Language] 

    ... 
} 

class User { 

    static hasMany = [products:Product] 

    ... 
} 

class Language { 

    static hasMany = [products:Product] 

    ... 
} 

문제입니다 : grails generate-all 모든 컨트롤러를위한 & 뷰를 만들 수 있습니다 모든 3 개의 도메인 클래스이지만 어떤보기에도 속성이 입력되지 않았습니다. 텍스트 입력 없음, 콤보 상자 없음, 오류 메시지 없음, ... Product, Language 및 Article의 id 필드 만.

"belongsTo"& "hasMany"를 드롭하면 아무런 문제없이 모든 뷰가 생성되므로 관계를 사용하는 방법에 대한 오류가 있는지 확신 할 수 있습니다.

내가 잘못 했습니까?

답변

0

Article에 user (낙타의 경우) 속성을 명시 적으로 추가 할 수 있으며 스캐 폴딩을 위해 생성됩니다. 또는 명시 적으로 선언 된 속성뿐만 아니라 (이후) 스캐 폴딩 템플릿을 조정할 수도 있습니다.

+0

감사합니다. Victor. 이제는 (Article - User) 관계에 대해 belongsTo & hasMany 만 사용하고 Product에 언어 속성을 추가합니다. 이 작품이 어떻게 나에게 대답 해 주시겠습니까? 문서를 읽을 때 belongsTo는 (1 - many) 관계에도 적용됩니다. –

+0

hasMany/belongsTo에 명시 적 속성을 추가해도 1) 필드 유형을 제어 할 수 있습니다. 즉, 대신 Set 을 사용하고, hasMany는 암시 적으로 추가합니다. 2) 암시 적 필드는 의심 스럽습니다. Class.getDeclaredFields()에 표시되지 않습니다. UI 생성 방식을 보려면'grails install-templates'를 실행하십시오. 그런 다음 src/templates/scaffolding의 템플릿을 검사하여 삭제할 수 있습니다. –

관련 문제