我在我的应用程序中使用了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
请告诉我如何限制记录提取。提前谢谢
答案 0 :(得分:0)
我终于想通了我需要这样做
follow_activities = PublicActivity::Activity.where(trackable_type: 'follow', key: 'follow.create', owner_id: current_user.all_following)
现在这将只获取current_user遵循的那些用户的记录