사이 NOT EQUAL 조건 나는 세 개의 테이블이 : 사용자, User_Interest, 그리고 관심을ROR : 두 테이블
어떻게 사용자 중 하나가없는이자 이름을 얻을 수 있을까?
은 (난 이미 그들 모두의 모델을 설정했습니다.) 당신의 친절하게 도움을감사합니다.
사이 NOT EQUAL 조건 나는 세 개의 테이블이 : 사용자, User_Interest, 그리고 관심을ROR : 두 테이블
어떻게 사용자 중 하나가없는이자 이름을 얻을 수 있을까?
은 (난 이미 그들 모두의 모델을 설정했습니다.) 당신의 친절하게 도움을감사합니다.
사용자의 클래스 메서드 또는 특정 사용자의 인스턴스 메서드로 만들 수 있습니다. 클래스 메소드의 경우 다음을 시도하십시오.
def self.missing_interests(user)
difference = Interest.all - user.interests
difference.map { |d| d.name }
end
User.missing_interests(some_user)
으로 전화하십시오. 예를 들어
def missing_interests
difference = Interest.all - interests
difference.map { |d| d.name }
end
을 시도하고 missing = some_user.missing_interests
으로 전화하십시오.
사용자에 대해 interests
연관에 포함되지 않은 모든 관심사의 이름을 가진 배열을 반환해야합니다.
감사합니다. 작동하지만 조금 변경됩니다. 나는 "@missing_interests = Interest.all - User.find (session [: uid]). 관심사"를 컨트롤러에 사용한다. – Niao
모델 연결에 대한 레일스 가이드 : 레일 3 : http://guides.rubyonrails.org/association_basics.html 레일 2.3.x : http://guides.rubyonrails.org/v2.3.8/ association_basics.html – Swanand