2015-01-02 2 views
0

사용자가 구성 가능한 위젯 (본질적으로 사이트의 자식 개체)을 사용하여 사용자 지정 사이트를 만들 수있는 앱을 만들고 있습니다. 현재 각 위젯은 자체 별도의 모델이므로 @site.headers@site.galleries과 같이 사용자 사이트 개체를 통해 개별적으로 액세스해야합니다.하나의 네임 스페이스에서 별도의 자식 모델 구성

하나의 네임 스페이스 인 위젯에서이 개별 자식 개체를 참조하는 방법을 설정하여 @site.widgets을 사용하여 사이트에 속한 모든 개별 자식 개체의 해시를 반환 할 수 있습니다.

다음과 같은 내용을 살펴 봤지만 :class_name은 배열을 허용하지 않습니다.

has_many :widgets, :foreign_key => 'site_id', :class_name => ['Header', 'Gallery']

답변

2

은 협회로이 정의하는 것은 불가능하다. 대신에, 당신은 당신의 자신의 방법을 정의 할 수 있습니다 :

def widgets 
    headers + galleries 
end 

을하지만, 기억이 방법의 결과가 단순 Array 아닌 ActiveRecord::Relation 될 것 - 그래서 당신은이에 AR 범위 메소드를 호출 할 수 없습니다.

+0

감사합니다. 지금 사용해보세요! – mkp

관련 문제