문제

'케이스'모델을위한 레일 앱에 다형성 레일 연관성이 많습니다. 사례가 많이있는 것이 많으므로 'the _that_has_a_case.case'를 수행하여 각각의 경우에 액세스합니다.

그러나 나는 다른 방향으로 가려고 노력하고 있으며 어떻게 확실하지 않습니다. 케이스 객체에 액세스 할 수 있지만 케이스가있는 것에 액세스하고 싶습니다. 레일은 이것을 할 수있는 방법이 있습니까? 각 유형의 객체에 대해 다른 SQL을 찾는 못생긴 스위치로 수행 할 수 있지만 레일이 더 나은 방법을 갖기를 바랐습니다. 감사!

도움이 되었습니까?

해결책

케이스 모델에 이와 같은 것을 추가 할 수 있습니다.

belongs_to :parent, :polymorphic => true

.. 필드가 있다고 가정합니다 parent_id 그리고 parent_type 귀하의 경우 모델에서 (첫 번째 인수를 belongs_to 이 협회 필드를 지명 한 방법에 따라 다릅니다). 이것을 갖는 후에는 단지 언급 할 수 있어야합니다. case.parent 주어진 경우 인스턴스.

그리고 명확히하기 위해이 관계의 한쪽에는 다음과 같은 것이 있습니다.

has_many :cases, :as => :parent, :dependent => :destroy

(나는 당신이 당신의 설명에 따라 이미 그 일을하고 있다고 가정합니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top