gpt4 book ai didi

ruby-on-rails - 通知如何与 Mailboxer gem 配合使用?

转载 作者:行者123 更新时间:2023-12-04 05:44:50 29 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用 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}"
  • 将链接到消息。

  • 以下是一些详细信息:
  • 我不希望所有通知都发送电子邮件。大多数只需要在通知菜单中看到。 Mailboxer 中是否有选项可以控制通过电子邮件发送的内容,还是我必须绕过 Mailboxer 的邮件程序?
  • 我想在下拉列表中以不同的方式格式化每种类型的通知。例如,为每个添加一个特定的字形。我可以使用通知type字段(使用它来设置条件)?怎么样type工作?我可以根据通知将其设置为字符串,例如“声誉”吗?
  • 对象可以传递给 notify方法。我对这样做的目的感到困惑。如何使用该对象?我想发送什么对象?


  • 随意在 Mailboxer 通知上留下一些一般信息,而不是专门回答所有问题。

    我在寻找通知功能的文档时运气很差,所以如果有一些 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

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

    关于ruby-on-rails - 通知如何与 Mailboxer gem 配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152031/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com