2013-05-03 1 views
0

레일즈 및 프로그래밍 전반에 대한 초보자가 많기 때문에 제 질문에 대한 답변이 눈에 띄게 분명 해지면 저를 용서해주십시오. 나는 the ROR guides를 포함하여 독서를 많이 해왔지만 다음과 같은 상황에 고유 한 시나리오를 찾을 수 없습니다 : 나는 세 가지 모델이 하나 개 User 모델에서 스캐 폴딩 한레일 다형성 연관

을, 그래서처럼 연결하려고 :

이 방법이 유용할까요? 그렇다면 이것을 구현하는 더 좋은 방법이 있습니까? 그렇지 않다면 어떻게 그 협회를 구현할 수 있습니까?

아이디어는 각 User 많은 malls을 가질 수 있다는 것입니다, 각 Mallcakes 많은있을 수 있습니다 stores, 두 mallsstores 많은있을 수 있습니다.

+2

* "이 방법이 효과가 있습니까?"* - 직접 시도해야합니다. – Stefan

+0

나는 이것을 사용해봤을 것이다. 아마도 나의 질문은 : "이것은 협회를 구현하는 가장 좋은 방법인가?" –

+0

이 코드를 게시 했으므로'Cake'의': cake_poly'는'Store'와'Mall'의'cake_polymorphic'과 일치하지 않습니다. 코드를 확인하고 그에 따라 질문을 편집해야합니다. – toro2k

답변

0

디자인에 대한 중요한 질문은 의도입니다. 무엇을 달성하고 싶습니까?

쇼핑몰 모델에서 몰의 상점에서 사용 가능한 케이크를 단순히 집계하려는 경우 다형성 관계를 사용하면 안됩니다. 당신은 같은 디자인을 달성하기 위해 다음과 같은 관계를 사용할 수 있습니다

class Mall < ActiveRecord::Base 
    has_many :stores 
    has_many :cakes, :through => :stores 
end 

다형성 방법은 두 세트 (쇼핑몰에서 케이크, 쇼핑몰의 매장에서 케이크) 상관 관계가없는 경우 완벽한 선택이 될 것입니다.

+0

답변 해 주셔서 감사합니다. 그것은 정확하게 나의 의도입니다, 쇼핑몰 케이크와 가게 케이크는 유사합니다 (그러므로 하나의 모델). 그러나 분리 된 실재물들입니다. 그러나 전체 과정을 더 깊숙이 들여다 보면 다형성을 포기하고 다른 모델을 만들 것이라고 생각합니다. 위에서 설명한 세부 사항. –