2011-04-29 4 views
0

Ruby on Rails 3 및이 API에서 API를 개발 중이며 사용자가 있고 사용자는 친구가 될 수 있습니다. 연락처를 통해 처리됩니다. 사용자가 자신의 모든 연락처를 묻는 경우 각 사용자의 ID를 가져 와서 User 객체를 가져 와서 연락처 ID뿐 아니라 연락처의 실제 이름을 얻을 수있는 배열을 만듭니다.Rails 3. 다른 테이블에서 여러 항목 가져 오기

잘 작동하지만 연락처 아이디가 있어야 예를 들어 내가 개발중인 iPhone 응용 프로그램의 연락처를 삭제할 수 있습니다. 어떻게해야합니까? 아래 코드를 수정하여 각 사용자와 사용자 객체의 연락처 ID를 가져올 수 있습니까?

http://pastie.org/1847350

UPDATE

현재 JSON 출력 pastie.org/1848590이다. 연락처 ID를 주 User 개체 배열의 하위 배열로 지정합니다. 최신 메시지가 지금처럼.

모든 입력에 감사드립니다!

+0

모델을 넣을 수 있습니까? – Dinatih

+0

Contact Model : http://pastie.org/1847692입니다. 사용자 모델은 http://pastie.org/1847695입니다. –

+0

그리고 결국 무엇을 원합니까? 예 : 배열 [user.id, contact1.id, contact2.id ...] – Dinatih

답변

1

접촉은 또한 사용자이다, 나는 당신이 단지 사용자 모델을 만들고 class_name과 자기 연관을 추가 할 필요가 있다고 생각한다 : "접촉"과이 관계는 한 명의 사용자가 has_many 접촉과 일대일 관계를 가질 것이다. 여기

has_many :contacts, class: "contacts", foreign_key: "contact_id"  

당신이 방금

@users.collect{|user| user.contacts } 

반환하면 그때는 힘 있다고 생각 연락처 목록을 해당 사용자를 찾을 필요가 연결 한 후이

http://railscasts.com/episodes/163-self-referential-association 

에 대한 캐스팅 도와주세요.

건배

관련 문제