2012-10-11 2 views
2

저는 Grails에서 새로 왔으며 hasMany 관계에 문제가 있습니다. 나는 다음과 같은 클래스있어 : 내 코드 beforde에서hasMany 관계에서 연관 지우기

class Twitter{ 
    String someVariable 
    static hasMany = [subscribedUsers: User] 
} 

class User { 
    String username 
    String anotherVariable 
} 

을, 나는 괜찮 았는데

twitterInstance.addToSubscribedUsers(springSecurityService.currentUser) 

를 통해 관계에 사용자를 추가했습니다. 하지만 지금, 사용자 개체를 삭제하지 않고 관계에서 사용자를 삭제하려고합니다. 튜토리얼 및 GORM 문서를 읽었지만 비슷한 것을 찾지 못했습니다.

twitterInstance.removeFromSubscribedUsers(springSecurityService.currentUser) 

아무도 도와 줄 수 있습니까?

+0

http://grails.org/doc/latest/ref/Domain%20Classes/removeFrom.html – 16dots

+0

이 자습서가 작동하지 않습니다. – Nadya

+0

또한 어린이 계단식/지우기 섹션을 살펴 봅니다 (~ 1/4 길 아래로). 여기 : http://blog.springsource.org/2010/07/02/gorm-gotchas-part-2/ –

답변

1

원인 : JIRA

솔루션 :

변경

twitterInstance.removeFromSubscribedUsers(springSecurityService.currentUser) 

에 :

def user = twitterInstance.subscribedUsers.find{it.id == springSecurityService.currentUser.id} 
twitterInstance.removeFromSubscribedUsers(user)