我目前正在将stream_rails
通知Feed整合到现有应用中。我试图在用户跟随另一个用户时添加活动。非常简单,但由于某些原因,当我在add_activity
的Feed上调用followed_user
时,它会将信息添加为字符串。
这是我的activity_data
:
activity_data = {
actor: current_user,
verb: 'Follow',
object: followable,
to: ["notifications:#{followable.id}"]
}
这里是activity_response
,为简洁起见缩短了:
activity_response = {"actor"=>
"{u'twitter_followers_count': 0, u'github_created_at': blahblahblah}", # other attributes removed for brevity
"duration"=>"41ms",
"foreign_id"=>nil,
"id"=>"538bc690-51df-11e7-8080-8001521ad36e",
"object"=>
"{u'twitter_followers_count': None, u'github_created_at': blahblahblah}", # other attributes removed for brevity
"origin"=>nil,
"target"=>nil,
"time"=>"2017-06-15T15:28:47.931560",
"to"=>[["notifications:301", "DVcbej_Id4IdQWHOYlA1n7RB4ps"]],
"verb"=>"Follow"}
什么时候应该更像:
activity_response = {"actor"=>
#<User:0x007fa8fae1a488>,
"duration"=>"41ms",
# etc etc
}
不太清楚为什么actor
指向实际ActiveRecord对象的返回值的字符串,与object
相同。在每个属性之前还有一堆添加的'u'
。
另外,我避免使用StreamRails.feed_manager.follow_user
,因为我只想发送通知,而不是为关注者创建供稿来查看。感谢任何帮助。谢谢!
答案 0 :(得分:1)
没关系,想出一个解决方案;虽然我确实有更多问题......
无论如何,回到答案。我认为stream-ruby
宝石的add_activity
宝石字符串 - 插入了data
的{{1}}和actor
的值。
使用object
通过在我的关注模型中添加stream-rails
和activity_notify
方法发送通知,可以让其正确地向被关注者发送通知。
示例:
activity_object
方法stream-rails
和activity_notify
向约翰的通知Feed发送通知。关注模特:
activity_object