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