0

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

4

2 回答 2

1

我构建了一个与 getstream.io 集成的 gem ( stream_rails );用于构建新闻提要和活动提要的托管 API 服务。gem 允许您将模型推送到提要、关注/取消关注提要并附带查看助手。

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

于 2014-10-25T08:06:16.377 回答
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

不过,有人可能会有更明确的答案。关系表也可能是单表继承的良好候选者。

于 2012-08-05T02:52:01.647 回答