加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 通知如何与Mailboxer gem一起使用?

发布时间:2020-12-16 23:29:09 所属栏目:百科 来源:网络整理
导读:我正在试图弄清楚如何使用Mailboxer设置通知系统. 我已经用它来设置站内消息系统,以便用户可以互相发送消息.现在,我想用它来发送来自网站的通知,通知用户他们的声誉点的变化,或者提醒他们必须完成的操作.像Facebook或Stackoverflow的下拉通知菜单. 例如,它可
我正在试图弄清楚如何使用Mailboxer设置通知系统.

我已经用它来设置站内消息系统,以便用户可以互相发送消息.现在,我想用它来发送来自网站的通知,通知用户他们的声誉点的变化,或者提醒他们必须完成的操作.像Facebook或Stackoverflow的下拉通知菜单.

例如,它可能包含以下类型的通知:

>用户获得执行操作的一些要点:

>“您通过#{request.title}帮助#{user.name}获得了50分.

>提醒用户必须执行操作:

>“您必须使用#{request.title}查看#{user.name}的帮助!
>将链接到页面以完成该操作.

>用户收到他们发送的邮件的回复:

>“您收到了来自#{sender.name}的消息”
>将链接到该消息.

以下是一些细节:

>我不希望所有通知都发送电子邮件.大多数只需要在通知菜单中看到. Mailboxer中是否有一个选项来控制通过电子邮件发送的内容,或者我是否必须绕过Mailboxer的邮件程序?
>我想在下拉列表中以不同方式格式化每种类型的通知.例如,为每个添加特定的glyphicon.我可以使用通知类型字段(使用它来设置条件)吗?打字怎么样?我可以将其设置为字符串,例如“信誉”,具体取决于通知吗?
>对象可以传递给notify方法.我对此的目的感到困惑.如何使用该对象?我想发送什么对象?

随意留下一些关于邮箱通知的一般信息,而不是专门回答所有问题.

我很幸运找到了通知功能的文档,所以如果有一些具有一些Mailboxer知识的人可以参与其中,那将非常感激.提前致谢.

解决方法

这是一个迟到的答案,但万一有人像我一样遇到这个问题,这就是我最终做的事情.

存在定义为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

您可以在此处定义更复杂的逻辑,例如为某些类型的用户禁用电子邮件等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读