使用public_activity gem显示其他用户在当前用户内容上的活动

8维

我希望能够向用户显示他在我的Rails应用程序中创建的内容上的评论和喜欢的内容,以及在其他用户使用公共活动gem跟随他时通知他

到目前为止,我所做的CommentLikeRelationship包括PublicActivity::Common我创造我的控制器,这些对象在创建他们每个人的活动。我的问题是当当前用户被其内容上的活动触发时为这些用户检索这些活动时,到目前为止,我有以下问题:

post_ids = "SELECT post_id FROM posts WHERE user_id = :user_id"

comment_ids = Comment.where("post_id IN (#{post_ids})", user_id: current_user.id).map(&:id)
comment_activities = PublicActivity::Activity.order("created_at desc").where(trackable_id: comment_ids , trackable_type: "Comment")

like_ids = Like.where("post_id IN (#{post_ids})", user_id: current_user.id).map(&:id)
like_activities = PublicActivity::Activity.order("created_at desc").where(trackable_id: like_ids , trackable_type: "Like")

relationship_ids = Relationship.where(followed_id: current_user.id).map(&:id)
relationship_activities = PublicActivity::Activity.order("created_at desc").where(trackable_id: relationship_ids, trackable_type: "Relationship")

@activities = comment_activities + like_activities + relationship_activities

但是我觉得这是一种非常复杂的方法,我可能会错过一种更简单的方法,有人有什么建议吗?

8维

嗯,解决这个问题的方法一直都是盯着我。为了解决这个问题,我只需要recipient在创建活动时设置活动的,就像这样:

@comment.create_activity :create, owner: current_user, recipient: @post.user

然后要获取活动,请执行以下操作:

@activities = PublicActivity::Activity.order("created_at desc").where(recipient_id: current_user.id, recipient_type: "User")

这使我可以对当前用户的内容执行操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用public_activity gem(Rails)中的参数值?

来自分类Dev

Public_activity gem参数Rails 3

来自分类Dev

能够通过su命令以当前用户和其他用户的身份使用$值的变量

来自分类Dev

使用Draper装饰的public_activity宝石

来自分类Dev

如何在public_activity gem中访问current_user?

来自分类Dev

当 sudo 进入 root 或其他用户时如何使用显示(例如浏览器)

来自分类Dev

使用其他用户证书的Java Rest调用

来自分类Dev

使用DiscordPy赋予其他用户角色

来自分类Dev

使用sudo时询问其他用户的密码

来自分类Dev

禁止使用Grails SpringSecutiryCore访问其他用户

来自分类Dev

使用其他用户证书的Java Rest调用

来自分类Dev

对登录的其他用户使用 source 命令

来自分类Dev

如何在Nginx上使用PHP以其他用户身份运行Shell脚本?

来自分类Dev

使用我自己的帐户上的其他用户(例如root用户)使用X桌面应用程序

来自分类Dev

我可以使用YoutubeAPI与其他用户一起创建直播活动吗

来自分类Dev

限制用户访问其他用户内容的最优雅方法是什么?

来自分类Dev

当某些用户使用WebSockets或ServerSentEvents时,SignalR提供404,而其他用户则不

来自分类Dev

使用与其他用户完全不同的工作区创建新用户

来自分类Dev

如何限制用户访问权限以查看/修改其他用户使用 Django 创建的对象

来自分类Dev

一个用户的更改可以使用 nodejs 同时反映给其他用户

来自分类Dev

在Linux中,是否可以使用户从属于root用户以外的其他用户?

来自分类Dev

Ubuntu 16.04 su可以使用USB设备,但其他用户不能使用

来自分类Dev

使用Sudo和通配符移动其他用户拥有的文件

来自分类Dev

无法使用其他用户的凭据启动PowerShell脚本文件

来自分类Dev

使用Runas其他用户通过PowerShell执行.cmd文件

来自分类Dev

在其他用户主目录中使用root到mkdir

来自分类Dev

如何在Node中使用Passport.js模拟其他用户?

来自分类Dev

无法跟随其他用户使用root创建的符号链接

来自分类Dev

使用Azure资源图获取其他用户的资源

Related 相关文章

  1. 1

    如何使用public_activity gem(Rails)中的参数值?

  2. 2

    Public_activity gem参数Rails 3

  3. 3

    能够通过su命令以当前用户和其他用户的身份使用$值的变量

  4. 4

    使用Draper装饰的public_activity宝石

  5. 5

    如何在public_activity gem中访问current_user?

  6. 6

    当 sudo 进入 root 或其他用户时如何使用显示(例如浏览器)

  7. 7

    使用其他用户证书的Java Rest调用

  8. 8

    使用DiscordPy赋予其他用户角色

  9. 9

    使用sudo时询问其他用户的密码

  10. 10

    禁止使用Grails SpringSecutiryCore访问其他用户

  11. 11

    使用其他用户证书的Java Rest调用

  12. 12

    对登录的其他用户使用 source 命令

  13. 13

    如何在Nginx上使用PHP以其他用户身份运行Shell脚本?

  14. 14

    使用我自己的帐户上的其他用户(例如root用户)使用X桌面应用程序

  15. 15

    我可以使用YoutubeAPI与其他用户一起创建直播活动吗

  16. 16

    限制用户访问其他用户内容的最优雅方法是什么?

  17. 17

    当某些用户使用WebSockets或ServerSentEvents时,SignalR提供404,而其他用户则不

  18. 18

    使用与其他用户完全不同的工作区创建新用户

  19. 19

    如何限制用户访问权限以查看/修改其他用户使用 Django 创建的对象

  20. 20

    一个用户的更改可以使用 nodejs 同时反映给其他用户

  21. 21

    在Linux中,是否可以使用户从属于root用户以外的其他用户?

  22. 22

    Ubuntu 16.04 su可以使用USB设备,但其他用户不能使用

  23. 23

    使用Sudo和通配符移动其他用户拥有的文件

  24. 24

    无法使用其他用户的凭据启动PowerShell脚本文件

  25. 25

    使用Runas其他用户通过PowerShell执行.cmd文件

  26. 26

    在其他用户主目录中使用root到mkdir

  27. 27

    如何在Node中使用Passport.js模拟其他用户?

  28. 28

    无法跟随其他用户使用root创建的符号链接

  29. 29

    使用Azure资源图获取其他用户的资源

热门标签

归档