创建活动流Rails

时间:2012-08-05 02:23:37

标签: ruby-on-rails ruby android-activity social

这可能是一个陈词滥调的问题,但我如何从有人关注的人的帖子中制作活动流?例如,如果我有一个安装了devise的rails应用程序,因此有一个User,Post和Relationship表,我将如何查询Post表以返回帖子来自用户所关注的人的记录(通过关系表) )?我已经尝试了谷歌的几种不同的方法,我似乎无法使它们适合。

2 个答案:

答案 0 :(得分:1)

我构建了一个与getstream.io集成的gem(stream_rails);用于构建新闻订阅源和活动订阅源的托管API服务。 gem允许您将模型推送到Feed中,关注/取消关注Feed并附带视图助手。

免责声明:我是getstream.io的创始人之一,也是stream_rails gem的作者。

答案 1 :(得分:0)

我在没有测试的情况下写了这个,所以它可能不是100%正确。

has_many,通过与定义的源的关系应该适用于此模型。您需要为users_relationships联接创建一个新表,如下所示:

create_table(:users_relationships) do |t|
  t.integer user_id
  t.integer relationships_id
end

现在,设置模型:

class Post < ActiveRecord::Base
  belongs_to :users
end

class User < ActiveRecord::Base
  has_many :posts
  has_many :relationships, :through => :users_relationships, :source => :user
end

class Relationship < ActiveRecord::Base
  has_and_belongs_to_many :user
end

但有人可能会有更明确的答案。相关表也可以成为单表继承的良好候选者。