ruby-on-rails-3 - 轨道 3 : Strategy for system notifications

标签 ruby-on-rails-3 notifications

这是应用程序中的常见模式,我确信有一个优雅的解决方案,但我一生都找不到答案。一个大问题是我不太知道该怎么调用它!

我正在尝试找到正确的解决方案来向系统的每个用户提供一次性通知。当该用户确认或关闭通知时,他们个人不会再次看到该通知,但其他用户会看到该通知,直到他们确认为止。

这在维护通知、新功能、入职等方面很常见。

显然,这需要存在于某个数据库中,作为此特定消息已确认此特定消息的标志,但如果没有经过深思熟虑的传递这些消息的计划,这似乎很快就会变得沉重且难以处理。

最佳答案

参见my answer类似的问题。

消息作为序列化数组存在于我的用户模型中。这样我就可以使用简单的数组方法,例如 #push 来获取新消息。用户仅处理特定于他们的消息,使用 #delete_at 取消单个消息,或使用 #clear 取消所有消息。

对于广播通知,您可以做一些令人讨厌的事情,例如:

User.all.map {|x| x.messages.push "You have been notified." ; x.save }

如果不经常使用,也没什么大不了的。

关于ruby-on-rails-3 - 轨道 3 : Strategy for system notifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055840/

相关文章:

ruby-on-rails-3 - 使用 Oauth 2 为用户建模

android - 多个状态栏通知

ios - 如何设置 Apple 推送通知服务中的声音? (总是默认的?)

ruby-on-rails - 使用 Rails3 中的 Mailgun HTTP api

ruby-on-rails-3 - :via => [:options] in ruby on rails routes

javascript - 在 Rails 中动态选择项目

ruby-on-rails - 计算 rails update 中 created_at 和 now() 之间的差异

javascript - IOS 本地通知不适用于 PhoneGap

android - 通知的 Intent

iOS通知中心注册