我已经用它来设置站内消息系统,以便用户可以互相发送消息.现在,我想用它来发送来自网站的通知,通知用户他们的声誉点的变化,或者提醒他们必须完成的操作.像Facebook或Stackoverflow的下拉通知菜单.
例如,它可能包含以下类型的通知:
>用户获得执行操作的一些要点:
>“您通过#{request.title}帮助#{user.name}获得了50分.
>提醒用户必须执行操作:
>“您必须使用#{request.title}查看#{user.name}的帮助!
>将链接到页面以完成该操作.
>“您收到了来自#{sender.name}的消息”
>将链接到该消息.
以下是一些细节:
>我不希望所有通知都发送电子邮件.大多数只需要在通知菜单中看到. MailBoxer中是否有一个选项来控制通过电子邮件发送的内容,或者我是否必须绕过MailBoxer的邮件程序?
>我想在下拉列表中以不同方式格式化每种类型的通知.例如,为每个添加特定的glyphicon.我可以使用通知类型字段(使用它来设置条件)吗?打字怎么样?我可以将其设置为字符串,例如“信誉”,具体取决于通知吗?
>对象可以传递给notify方法.我对此的目的感到困惑.如何使用该对象?我想发送什么对象?
随意留下一些关于邮箱通知的一般信息,而不是专门回答所有问题.
解决方法
存在定义为https://github.com/mailboxer/mailboxer#user-identities的用户身份方法
如果它返回电子邮件,将发送电子邮件.如果它返回nil,则不会发送任何电子邮件.
alice.notify("Hi","Bob has just viewed your profile!")
在mailBoxer_email中,检查对象是否是通知.如果是,请不要发送电子邮件.
def mailBoxer_email(object) if object.class==MailBoxer::Notification return nil else email end end
原文地址:https://www.jb51.cc/ruby/264515.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。