我试图弄清楚如何使用Mailboxer设置通知系统。
我已经使用它来设置一个站点内消息传递系统,以便用户可以相互消息传递。现在,我想用它来从网站发送通知,以通知用户其信誉点的更改或提醒他们必须完成的操作。诸如Facebook或Stackoverflow的下拉通知菜单之类的东西。
例如,它可能包含以下类型的通知:
"You received 50 points for helping #{user.name} with #{request.title}.
"You must review #{user.name}'s help with #{request.title}!
"You've received a message from #{sender.name}"
以下是一些详细信息:
type
字段(使用它来设置条件)吗? type
如何工作?是否可以根据通知将其设置为字符串,例如“信誉”? notify
方法。我对这个目的感到困惑。该对象如何使用?我要发送什么对象? 随时保留有关Mailboxer通知的一些常规信息,而不是专门回答所有问题。
我很不幸无法找到有关通知功能的文档,所以如果有一些Mailboxer知识的人可以对此进行介绍,我将不胜感激。提前致谢。
最佳答案
这是一个较晚的答案,但是以防万一有人像我一样遇到这个问题,这就是我最终要做的。
有一个定义为https://github.com/mailboxer/mailboxer#user-identities的用户身份方法
如果返回电子邮件,将发送一封电子邮件。如果返回nil,则不会发送电子邮件。
邮箱器中有一个notify方法,您可以使用它以如下方式发送通知,
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
您可以在此处定义更复杂的逻辑,例如为某些类型的用户禁用电子邮件等。
关于ruby-on-rails - 通知如何与Mailboxer gem一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25152031/