【问题标题】:Social Feed in railsRails 中的社交动态
【发布时间】:2013-03-26 17:53:35
【问题描述】:

我有一个带有表格列(id、user_id 和 post)的 Post 模型
然后我有 post_shared_with 列(id、post_id 和 user_id(与帖子共享的用户))。此表目前没有模型,我只需要它来跟踪帖子的共享对象。帖子可以与多人共享。
然后我对 照片 有相同的方案。使用表格列(id、user_id 和 photo_path)对照片进行建模。 photo_shared_with 表没有模型,但有列(id、photo_id、user_id)。
最后,同样的旧视频方案。
问题:
我需要一个页面来在一个提要中同时显示所有帖子、照片和视频。让我们说控制器提要,我如何在数据库中获取排序提要?我的观点会是什么样子?
其次,这甚至是解决此问题的有效方法吗?我应该使用像骨干这样的前端框架来处理提要还是有更好的方法来构建这样的东西?
真的很抱歉,如果这是一个超级基本的东西,我是一个新手,任何帮助将不胜感激。 Nb:我已经完成了 micheal hartl 的 railstutorial 书,所以我了解了基础知识。

【问题讨论】:

  • 查看railscasts.com/episodes/406-public-activity 还有一个专业剧集向您展示如何从头开始。
  • 谢谢,但这有点不同。
  • 听起来你应该在发布到 SO 之前尝试一些东西。您的问题中有一些想法,请尝试一下。
  • 我不知道该怎么做,也不知道到目前为止我所做的是否有效。我不会问我是否知道,我也不是真的要代码,只是朝着正确的方向前进。

标签: ruby-on-rails database ruby-on-rails-3 feed


【解决方案1】:

您可以创建一个多态的 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 的多态连接的链接供参考。

【讨论】:

  • 写完这个答案后,SharedWith 的更合适的名称可能是 Feed 或类似的名称。
【解决方案2】:

我创建了一个 gem 来处理社交订阅功能 https://github.com/SharpV/sharp_social,希望它可以帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-29
    • 2012-04-20
    • 1970-01-01
    • 2011-08-25
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多