2012-03-30 4 views
0

양방향으로 작동하지 않습니다 :자기 참조 내가 같은 클래스가

class User 
    include Mongoid::Document 

    has_and_belongs_to_many :following, class_name: "User", inverse_of: :followers 
    has_and_belongs_to_many :followers, class_name: "User", inverse_of: :following 

이 같은 다른 사용자가 다음과 같은 사용자를 추가 할 때 :

def follow id 
    self.following.push User.find(id) 
    end 

업데이트 될 때 다음을하지만, "팔로어"참조는 현재 수행중인 사용자에 대한 참조가 아닙니다. 저는 수동으로 역관계를 생성 할 필요가 없다고 가정하고 있습니다. 그래서 내가 뭘 잘못하고있는 걸까요?

+0

당신은 그것의 단수/복수 인 다음에 대한 활용을 추가하려고 했습니까? – rubish

답변

1

언제든지 사용하고 계십니까? 그렇다면 암호 조합이 누락되어 역 사용자를 저장하는 데 문제가있을 수 있습니다. 다른 사용자, 즉 다음 사용자를 추가하는 사용자는 이미 인증되어 잘 저장 중입니다. 나는 이와 비슷한 상황에서이 문제를 직접 발견했다.

나는 역 개체에 대한 유효성 검사를 사용하지 않도록 설정하는 방법에 대한 또 다른 질문을했습니다 Mongoid: disabling validation on inverse objects when saving parent for HABTM relationship Options

관련 문제