Rails 通知消息插件?
Posted
技术标签:
【中文标题】Rails 通知消息插件?【英文标题】:Rails Notification Message plugin? 【发布时间】:2010-10-20 00:21:09 【问题描述】:我即将为我的 Rails 应用程序编写代码,不想重新发明***,因此我的问题是:
你们知道任何 Rails 插件可以让应用程序显示可能是特定于用户的通知消息并允许用户将它们标记为“不再显示”吗?
我的愿景是显示一个顶部 div(就像最近添加的 *** 一样),以不同的颜色显示“标题”消息,并且可以点击。一旦点击,它会弹出整个消息,然后允许用户标记它以防止它再次显示。
那里有类似的东西吗? :-)
目前我发现了这两个插件:
http://github.com/jstewart/system_messages/tree/master http://github.com/arya/site_notifications/tree/master但这些都是我的愿景中相当不完整的部分
-- 费利佩。
【问题讨论】:
只要我记得,*** 顶部的这条消息就在这里 :)(它是测试版) 【参考方案1】:似乎system_messages(您链接到的)主要做您想做的事。 SystemMessage
模型具有 header
、message
和 dismissed
字段。
点击标题时,只需要一点 javascript 就可以显示一个最初隐藏的消息字段。如果您使用 Prototype,该插件已经允许通过 JavaScript 解除消息。
【讨论】:
以上链接为我返回 404 错误-供参考:github.com/jstewart/system_messages【参考方案2】:由于我没有足够的声誉来发表评论 - Flash 不够用有几个不同的原因:
-
您正在混合视图和控制器代码。我需要通知用户,包括不属于控制器的 URL 和消息。我可以在视图中编写包装函数来执行此操作,但这很麻烦。
异步通知。如果您使用的是队列设计模式,那么您确实需要一个消息队列来配合它,并完全独立于他们正在查看的控制器显示用户消息。
难以设置状态。有些消息应该只向用户显示一次。需要创建一个完整的消息模型来跟踪他们点击和禁用的内容。
我也在寻找一些好的解决方案,到目前为止,我能想到的最好的解决方案是 RYO。 我最终会将显示代码填充到 flash 中,但要弄清楚什么和何时要 flash 是诀窍。
【讨论】:
【参考方案3】:Mailboxer 提供通知模型,旨在用作系统消息:https://github.com/ging/mailboxer
【讨论】:
【参考方案4】:您为什么不使用内置闪存的导轨有什么原因吗?那么只有一些js在点击关闭时隐藏flash消息?
【讨论】:
【参考方案5】:我使用jGrowl (demo),对此我很满意。我今天早上读到了Roar,我也会尝试一下。如果你使用 MooTools,还有Window.Growl。
【讨论】:
用户特别提到了 Rails,这意味着他正在寻找一种后端机制来生成这些通知,而不是只提供一种显示这些通知的方法的 javascript 插件。【参考方案6】:Rails 中已经内置了一个消息通知系统,即 flash。它出现的时间和对象以及外观取决于应用程序;因此,不太可能有预先编写的插件完全符合您的要求。
如果我是你,我会分配给控制器中的 flash 并在布局中创建一个 div,如果有要传达的 flash 消息,则有条件地出现。使用 CSS 设置样式并使用 JavaScript 效果进行装饰。
【讨论】:
提问者明确提到了以下要求:“......这将允许应用程序显示可能是用户特定的通知消息,并允许用户将它们标记为'不要显示这个再次'?” IMO 仅使用 Flash 消息都不能满足这两个要求。以上是关于Rails 通知消息插件?的主要内容,如果未能解决你的问题,请参考以下文章