Ruby on rails Rails获取仅涉及当前用户的活动提要

Ruby on rails Rails获取仅涉及当前用户的活动提要,ruby-on-rails,ruby,notifications,ruby-on-rails-4,Ruby On Rails,Ruby,Notifications,Ruby On Rails 4,我正在使用rails应用程序上的public_activity gem获取所有当前_用户的追随者活动。它工作得很好,但我更喜欢只获取与当前用户相关的活动,因此它更像是一个通知系统,而不仅仅是活动 以下是我到目前为止在活动控制器中的内容 @activities_all = PublicActivity::Activity.order("created_at desc").where(owner_type: "User", owner_id: current_user.followed_users.

我正在使用rails应用程序上的public_activity gem获取所有当前_用户的追随者活动。它工作得很好,但我更喜欢只获取与当前用户相关的活动,因此它更像是一个通知系统,而不仅仅是活动

以下是我到目前为止在活动控制器中的内容

@activities_all = PublicActivity::Activity.order("created_at desc").where(owner_type: "User", owner_id: current_user.followed_users.map {|u| u.id}).all
@activities = @activities_all.group_by { |t| t.created_at.beginning_of_day }
如前所述,这提供了当前用户的追随者所做的所有活动(如在帖子上创建/评论)。我希望它能在我的追随者与我的帖子互动的所有活动中发挥作用,等等。因此,当用户在我的帖子上发表评论时,我希望它成为@activities的一部分

乍一看,我认为这是另一个我无法理解的查询(如果查询是正确的方式)

这里有一些前端代码,如果这有帮助的话

<% @activities.sort.each do |day, activities| %>
  <h6><%= day.strftime("%B %d") %></h6>
    <% for activity in activities %>
      <% if activity.trackable %>
        <div class="activity">
          <p>
            <%= activity_user_image(activity.owner) %>
            <%= activity_user_name(activity.owner) if activity.owner %>
            <%= render_activity activity %> 
            <span><%= activity.created_at.strftime("%I:%M %p") %></span>
          </p>
        </div>
     <% end %>
  <% end %>
<% end %>



谢谢大家的帮助。快乐假期

对你的人际关系不是很确定,但像这样的事情应该行得通:

@user_activities = PublicActivity::Activity.order("created_at desc").where(owner_type: "User", owner_id: current_user.id).all

如果有人有这个问题,我会找到答案的

首先,我为每个活动添加了一个收件人

if @comment.save
  @comment.create_activity :create, owner: current_user, recipient: @design.user
end
然后,我向活动添加了另一个查询

@activities_all = PublicActivity::Activity.order("created_at desc").where(recipient_id: current_user).where("owner_id not in (?)", current_user).all

这只是显示当前用户的活动,而不是显示当前用户帖子上发生的所有用户活动。我想我需要找出如何将收件人添加到活动中以获得答案。看起来,我是通过在每个活动中添加收件人id来解决的。仍然需要完成它,以确保它的工作,但它看起来像它要。谢谢你看它没有压力,很抱歉我帮不了你。