我正在为类似于 Twitter 的客户端实现一个活动提要(它是唯一与当前登录用户相关的活动——即喜欢他/她的帖子、提及等的人)。它不会依赖于' push' 但相反,用户必须刷新页面才能看到新的活动(现在)。
在过去的一个小时里,我一直在搜索和搜索 SO,以找到实现这一点的最佳方法,并且观察者不断提出解决方案。我还注意到其中许多都在使用推送通知。我注意到 R Bates 在他的公共活动 railscast btw 中采用的方法,这就是我问这个问题的原因。
如果我不想使用推送通知怎么办,回调会好还是更好?你认为我仍然需要在 Rails 之外实现其他东西来实现可扩展性吗?(例如您如何使用“Pushapp”进行推送通知)
任何关于更好解决方案或光棚的建议都会有所帮助。
这是给@gg_s
我假设在这种情况下你说我有一个 activity_feed 表(receiver_id、sender_id、activity_type 和 activity_id)(属于用户,belongs_to activity_type (???),:polymorphic => true)
# application_controller.rb
def publish_to_user_feed(message)
current_user.activity_feed << message
end
# favorites_controller.rb
def create
# blah blah blah
publish_to_user_feed "This just happened."
end
在收藏夹控制器的“创建”操作中,“这刚刚发生”可以 =="@favorite.user just favorited @favorite.post by @favorite.post.user"
再说一次,我希望我不会太讨厌并且很确定我的要求是显而易见的,但我认为这将有助于为我解决问题并帮助未来的访客。
再次感谢
对于任何想知道的人,我仍在努力解决这个问题.. 只是休息了一下.. 我主要担心的是它对数据库和其他性能问题的影响有多大,所以如果有人想改进这个(使用上面的代码),随意:)
解决方案:我不想让事情变得过于复杂,所以我正在接受 ap 的建议。