2013-03-26 4 views
1

나는 그때 열 post_shared_with
테이블 열 (ID, USER_ID 및 사후)와 포스트 모델이 (ID, post_id를하고 USER_ID (게시물을 공유하는 사용자를)) . 현재이 테이블에 대한 모델이 없습니다. 게시물을 누구와 공유했는지 추적해야합니다. 게시물을 많은 사람들과 공유 할 수 있습니다.
다음은 동일한 체계가 사진입니다. 테이블 열 (id, user_id 및 photo_path)이있는 모델 사진. 테이블 photo_shared_with에는 모델이없고 열 (id, photo_id, user_id)이 있습니다.
그리고 마지막으로, 동영상에 대한 동일한 이전 구성표.
Questions :
모든 게시물, 사진 및 비디오를 하나의 피드에 함께 표시하려면 페이지가 필요합니다. 컨트롤러 피드라고하면 데이터베이스에서 정렬 된 피드를 얻는 방법은 무엇입니까? 내 견해는 어떻게 생겼을까요?
두 번째로, 이것도 이것에 대한 효율적인 방법입니까? 백본과 같은 프런트 엔드 프레임 워크를 사용하여 피드를 처리해야합니까? 아니면 이런 식으로 구조를 구성하는 더 좋은 방법이 있습니까?
정말 대단히 죄송합니다. 아주 기본적인 물건이라면, 나는 신세가되어 도움이 될 것입니다. Nb : 나는 micheal hartl의 railstutorial book을 마쳤으므로 기초를 알고 있습니다.사회 피드가

+1

체크 아웃 http://railscasts.com/episodes/406-public-activity 처음부터 다시 시작하는 방법을 보여주는 프로 에피소드가 있습니다. – spullen

+0

감사합니다. 그러나 이것은 약간 다릅니다. – Skyalchemist

+0

SO에 게시하기 전에 무언가를 시도해야하는 것처럼 들립니다. 당신은 당신의 질문에 몇 가지 아이디어를 가지고 시도해보십시오. – spullen

답변

0

다형성이있는 shared_with 테이블을 만들 수 있습니다 (모든 개체에 속할 수 있도록). 그런 다음 shared_with 테이블을 쿼리하면됩니다. 다형성은 참조 용 레일 http://guides.rubyonrails.org/association_basics.html#polymorphic-associations를 사용하여 조인에 대해

Post (id, user_id, post_content) 
Photo (id, user_id, photo_path) 
SharedWith(id, shareable_id, shareable_type, user_id) (where the user_id is who you're sharing this with). 

가 여기 링크입니다 : 같은

그래서 스키마가 보일 것이다.

+0

이 답변을 작성한 후에는 SharedWith의 더 적절한 이름이 Feed 또는 해당 행의 항목 일 수 있습니다. – spullen