17

我即将为我的 Rails 应用程序编写一些代码,并且不想重新发明轮子,因此我的问题是:

你们知道任何 Rails 插件,它允许应用程序显示可能是用户特定的通知消息,还允许用户将它们标记为“不再显示”?

我的愿景是显示一个顶部 div(就像最近添加的 StackOverflow 一样),以不同的颜色显示消息“标题”,并且可以点击。单击后,它将弹出整个消息,然后允许用户对其进行标记以防止再次显示。

那里有类似的东西吗?:-)

到目前为止,我发现了这两个插件:

但这些是我愿景中相当不完整的部分

——费利佩。

4

6 回答 6

3

似乎system_messages(您链接到的)主要是您想要的。该SystemMessage模型具有headermessagedismissed字段。

当点击标题时,只需要一点 JavaScript 就可以显示一个最初隐藏的消息字段。如果您使用 Prototype,该插件已经允许通过 JavaScript 解除消息。

于 2009-10-09T16:21:15.247 回答
2

由于我没有足够的声誉来发表评论 - 由于几个不同的原因,Flash 是不够的:

  1. 您正在混合视图和控制器代码。我需要通知用户,包括不属于控制器的 URL 和消息。我可以编写包装函数在视图中执行此操作,但它很hacky。
  2. 异步通知。如果您使用的是队列设计模式,那么您确实需要一个消息队列来配合它,并完全独立于他们正在查看的控制器显示用户消息。
  3. 很难设置状态。有些消息应该只向用户显示一次。需要创建一个完整的消息模型来跟踪他们点击和禁用的内容。

我也在寻找一些好的解决方案,到目前为止,我能想到的最好的解决方案是 RYO。我最终会将显示代码填充到闪存中,但要弄清楚什么和何时闪存是诀窍。

于 2009-05-29T03:23:54.620 回答
2

Mailboxer 提供了旨在用作系统消息的通知模型:https ://github.com/ging/mailboxer

于 2012-07-20T08:29:52.810 回答
0

您为什么不使用内置闪存的导轨是有原因的吗?然后只有一些 js 在单击关闭时隐藏 flash 消息?

于 2009-04-17T10:35:17.627 回答
-2

我使用jGrowl ( demo ),对此我很满意。今天早上我读到了Roar,我也会尝试一下。如果您使用的是 MooTools,还有Window.Growl

于 2009-05-29T03:44:11.483 回答
-3

Rails 中已经内置了一个消息通知系统,即 flash。它出现的时间和对象以及外观取决于应用程序;因此,不太可能有预先编写的插件完全符合您的要求。

如果我是你,我会分配给控制器中的 flash 并在布局中创建一个 div,如果有要传达的 flash 消息有条件地出现。使用 CSS 设置样式并使用 JavaScript 效果进行装饰。

于 2009-04-18T00:42:03.567 回答