我尝试通过create
以外的其他操作发送通知。我的文章模型有一个published
布尔属性/列,目前我有它所以它只在文章创建和发布时发送通知。
这是我的article.rb
:
def activity_actor
user
end
def activity_object
self
end
def activity_notify
return if user.followers.empty?
user.followers.map(&:id).map do |user_id|
StreamRails.feed_manager.get_notification_feed(user_id)
end
end
def activity_should_sync?
published
end
def activity_target
return "article_#{Time.now}"
end
我仍然喜欢原始功能(文章已创建且published
为真),但我还希望在已创建文章并将published
更新为true时发送通知。因此,我需要通过update
操作发送通知。
似乎没有一种显而易见的方式来手动发送通知或控制发送通知的触发器。任何帮助将不胜感激!
答案 0 :(得分:0)
我认为您需要在update
行动中手动管理此内容。
feed = StreamRails.feed_manager.get_user_feed
将返回Stream::Feed
的实例,然后您可以调用feed.add_activity(activity_data)
。如果您发送与原始活动相同的foreign_id
和time
,我们将执行upsert并更新原始活动。如果您正在更新之前的活动,则不会触发新通知,因此您也需要手动将该活动发送到其他通知字段。