Rails 앱에서 여러 모델을 단일 활동 피드로 결합하고자합니다.여러 모델에서 (고성능) 활동 피드를 만드는 방법은 무엇입니까?
예를 들어 게시, 댓글, 사진, 상태 모델이 있습니다. 각각은 사용자, 기관 및 도시에 속합니다. 사용자/기관/도시 쇼 페이지에서 최근 활동의 연대순 목록을 표시하려고합니다.
SO의 다른 질문을 둘러보고 다른 질문을 보면이 문제에 대해 두 개의 학교가있는 것으로 보입니다.
- 다형성 ActivityFeed 모델을 만듭니다. 예 : a 사용자
has_many :posts as: feedable
. 그런 다음 ActivityFeed 컬렉션을 각 쇼 페이지에 렌더링하십시오. - 결합 된 배열을 만들고 렌더링합니다.
@user_feed = @user_photos + @user_comment +..
그러나 각 방법의 장점과 단점에 대해서는 많이 알지 못합니다.
다른 사람이 비슷한 것을 시도한 사람이 있습니까? 접근 방법을 선택할 때 어떤 문제에 대해 생각하거나 계획해야합니까? 각 데이터베이스는 얼마나 잘 수행됩니까?
내 요구 사항은 다음과 같습니다
- 은 상위 모델에 속하는 모든 항목을 표시합니다.
- 여러 가지 유형의 상위 모델 (사용자, 기관, 도시 등)을 갖습니다.
- 활동 피드의 각 항목에 대해 클래스에 따라 부분적으로 다른보기를 렌더링합니다.
모든 생각, 개인적인 경험 또는 이에 대한 추가 정보에 감사드립니다. 세 번째 옵션을 찾고 있습니까? 여러 쿼리에서 결합 된 배열을 만드는 성능에 특히 관심이 있습니다.
감사
당신이 두 번째 유형의 목표에 따라 예상 요청을 할 수 있습니다 마음에? – Blankman