2013-03-26 119 views
1

我有一个邮政模型表中的列(ID,USER_ID和后)
后来我就post_shared_with的列(ID,POST_ID和USER_ID(后与共享用户)) 。目前没有这个表格的模型,我只需要它来跟踪帖子与谁共享。一篇文章可以与很多人分享。
然后我有照片相同的方案。带有表格列的模型照片(id,user_id和photo_path)。表photo_shared_with没有模型并且有列(id,photo_id,user_id)。
最后,视频的旧计划。
问题:
我需要一个页面在一个饲料显示所有的帖子,照片和视频一起。让我们说控制器饲料,我如何获得数据库中的分拣饲料?我的观点是什么样子?其次,这是甚至是一个有效的方式去做这件事吗?我应该使用像骨干这样的前端框架来处理Feed吗?还是有更好的方法来构建这样的事情吗?
真的对不起,如果这是一个超级基本的东西,我是一个福利局和任何帮助将不胜感激。 Nb:我已经完成了micheal hartl的railstutorial book,所以我知道基础知识。社会饲料

+1

退房http://railscasts.com/episodes/406-public-activity 还有一个亲插曲,告诉你如何从头开始做。 – spullen 2013-03-26 17:55:29

+0

嗯谢谢,但这有点不同。 – Skyalchemist 2013-03-26 18:00:09

+0

听起来像你应该只是尝试之前发布到SO。在你的问题中你有一些想法可以尝试一下。 – spullen 2013-03-26 18:02:49

回答

0

你可以做一个shared_with表是多态的(所以它可以属于任何对象)。然后你只需查询shared_with表。

所以,你的架构看起来像:

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). 

这里有一个链接约多态性加入使用Rails http://guides.rubyonrails.org/association_basics.html#polymorphic-associations以供参考。

+0

写完这个答案之后,SharedWith的一个更合适的名称可能是Feed,或者沿着这些行的东西。 – spullen 2013-03-26 18:50:28