소셜 네트워크에서 볼 수있는 것과 같은 뉴스 피드를 구현해야한다면 ex facebook을 사용할 수 있습니다. 현재 Image, Comment, Friendship, GroupMembership 등과 같은 종류의 다형성 배열이있는 News 클래스를 사용하고 있습니다. 객체가 생성 될 때마다 News도 생성됩니다. 그것은 AR (ActiveRecords)와 잘 작동하지만 DM (DataMapper) 또는 Sequel로 전환하면 문제가 발생합니다. 둘 다 다형성 연결을 지원하지 않으며 사용법을 방해합니다.다형성 연관을 피하는 방법
한 가지 해결 방법은 많은 수의 UNION이있는 큰 SQL 절을 사용하여 뉴스로 간주되어야하는 모든 다른 테이블을 병합하는 것입니다. 그러나 여기에는 몇 가지 단점이 있으며, 특히 성능은 끔찍할 것입니다.
그래도 다형성 연결을 사용하지 않고도 성능을 향상 시키면서도 메타 데이터를 뉴스에 추가 할 수있는 등의 단점이없는 방법을 궁금해합니다.
감사합니다 ... 진짜 간단하지만 좋은 생각입니다 .--). 그것은 모델에 대한 약간의 변경을 필요로하지만 (ref의 실제 연관을 되 돌린다.) – gucki
나는 이것이 해결책이라고 생각하지 않는다. 예를 들어, '리뷰'는 잠재적으로 '비즈니스'또는 '사람'또는 '항목'일 수 있습니다. 'review' 테이블에'business_id','person_id','item_id'를 가지고 있더라도 리뷰가 무엇을 가리키고 있는지를 알기 위해서는 모두 첫 번째 non-nil 필드를 찾아야합니다. 특정 제휴가 여러 가지 다른 경우가있을 수 있습니다. – fatuhoku