2012-03-07 2 views
0

저는 이것이 꽤 기본적인 질문이라고 확신합니다. 어쨌든 나는 올바른 정보를 얻지 못합니다.Rails의 어머니/아버지/자녀 관계

나는 3 개의 모델을 가지고있다.

사용자 - 작업 - 작업 프로젝트 모델의 자녀로

사용자 노트 및 작업은 동일한 수준이며, 그들은 템플릿으로 작동합니다. 각 사용자마다 프로젝트의 모든 작업을 표시하고 메모를 추가합니다. 이 경우 Notes는 두 사용자와 작업의 하위 항목이며 실제로 두 항목을 결합한 하위 항목입니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 나는 다형성 협회를 체크 아웃하고이 경우에는 작동하지 않는 것 같습니다.

건배, 나는 당신의 문제 다형성 협회의 이해가 무엇에서

답변

0

다비드 사용자가 많은 노트를 가지고있는, 당신이 원하는 정확히 무엇이며, 작업은 많은 참고가있다.

관계는 생성 노트 마이그레이션 note.rb

belongs_to :noteable, :polymorphic => true 

모두 user.rb에서

및 task.rb

has_many :notes, :as => :noteable 

과 같을 것이다

t.references :noteable, :polymorphic => true 

참고 b 사용자와 작업은 Notes를 가질 수 있으며, Notes는 사용자 또는 작업 (또는 주목할만한 다형성 인터페이스를 사용하여 연결하는 다른 것)에 속할 수 있습니다.

+0

다형성이 나를 위해 작동하지 않는다는 이유는 특정 사용자와 특정 작업의 조합이 많은 메모를 가질 수 있다는 것입니다. 내 이해에서 다형성 연관은 메모가 사용자 또는 작업을 부모로 갖는 방식으로 설정됩니다. – Dave