Как отображать активность только для определенного пользователя в геме Public Activity

То, что я пытаюсь сделать, это использовать gem публичной активности для создания системы уведомлений, я следовал этому Railscast, и все работало просто отлично.

У меня есть статья и модель комментариев, в которой пользователи могут комментировать каждую статью, а пользователь, которому принадлежит статья, получит уведомление в своей ленте активности, но проблема здесь в том, что страница активности показывает активность всех пользователей, но теперь я хочу проявлять активность только к конкретному человеку, которому принадлежит статья. Поэтому, если пользователь нажимает на кнопку активности, он будет видеть только те действия, которые произошли в этой статье.

Есть ли способ сделать это?

1 ответ

Если в модели указан владелец, вот так

class Comment < ActiveRecord::Base
  include PublicActivity::Model
  tracked owner: Proc.new{ |controller, model| controller.current_user }
end

тогда вы можете использовать обычный where пункт для извлечения данных.

PublicActivity::Activity.where("owner_id = ?", user.id)
Другие вопросы по тегам