0

我在我的应用程序中使用了 public_activity gem 以及用户可以关注其他用户的 act_as_follower gem

我用来获取以下所有活动的逻辑是

@follow_activities = PublicActivity::Activity.where(trackable_type: 'follow', key: 'follow.create')

这里@follow_activities正在获取已完成以下操作的所有记录,但我想限制此查询,它应该仅获取 current_user 关注的那些用户的关注活动。

获取所有查询是一个坏主意。

为了详细说明,我向您展示了我包含的模型

class User< ActiveRecord::Base

acts_as_follower
acts_as_followable

end

跟随模型如下

  class Follow < ActiveRecord::Base
      include PublicActivity::Model
      tracked owner: ->(controller, model) { controller && controller.current_user }
      extend ActsAsFollower::FollowerLib
      extend ActsAsFollower::FollowScopes

      # NOTE: Follows belong to the "followable" interface, and also to followers
      belongs_to :followable, :polymorphic => true
      belongs_to :follower,   :polymorphic => true

      def block!
        self.update_attribute(:blocked, true)
      end

    end

请告诉我如何限制记录获取。提前谢谢

4

1 回答 1

0

我终于想通了我需要这样做

follow_activities = PublicActivity::Activity.where(trackable_type: 'follow', key: 'follow.create', owner_id: current_user.all_following)

现在这将只获取 current_user 关注的那些用户的记录

于 2015-09-19T14:21:55.073 回答