问题标签 [mailboxer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
368 浏览

ruby-on-rails - Mailboxer Gem 使用多个模型

我有两个模型用户和员工需要相互交互。这是一个基于示例应用程序(控制器)的控制器。我需要它对这两种模型都有效,但为 def 添加一个 if/else 语句,例如邮箱等,以确定员工或用户是否登录显示“堆栈级别太深”错误。我是 Rails 新手,在多次谷歌搜索/SO 之后无法理解我的错误是什么。消息传递应该在这两个模型之间,发起者应该是用户。(更新:我发现Mailboxer Gem--Restrict 消息传递的 SO 帖子)非常感谢!

0 投票
1 回答
324 浏览

ruby-on-rails-4 - Rails 4 Index.html.erb 循环

所以我的邮箱对话有以下索引:

对话/index.html.erb

我之所以想到这个,是因为首先它说“参与者”没有本地方法,然后它说“对话”没有本地方法。所以我只是为他们两个做了一个 each.do 循环。

这行得通...它列出了发件人和主题以及将每封邮件移动到垃圾文件夹的选项...但它开始每秒循环大约 5 次到无穷大。(我假设这是服务器上的地狱。)

然后我注意到这也发生在用户 index.html 和 edit.html

0 投票
1 回答
2312 浏览

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

我试图弄清楚如何使用 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工作?我可以根据通知将其设置为字符串,例如“reputation”吗?

  • 对象可以传递给notify方法。我对这样做的目的感到困惑。该对象如何使用?我要发送哪些对象?


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

我很难找到通知功能的文档,所以如果有一些 Mailboxer 知识的人能加入进来,我将不胜感激。提前致谢。

0 投票
1 回答
511 浏览

ruby-on-rails - ActiveRecord::RecordNotFound 找不到没有 ID 的对话

我在视图中添加了一个 link_to 方法,以允许用户从收件箱中选择要删除的消息。我正在使用 Mailboxer gem。添加代码时收到的错误是ActiveRecord::RecordNotFound Couldn't find Conversation without an ID. 错误指向控制器在线@conversation ||= mailbox.conversations.find(params[:id])

index.html.slim:

对话控制器:

0 投票
1 回答
626 浏览

ruby-on-rails - Mailboxer + Rails 4.1:给自己的消息在对话中显示重复的发件箱和收件箱消息

将mailboxer gem 0.12.2 版与Rails 4.1.4 版一起使用。

当我向自己发送消息时,“对话”视图会显示相同的消息两次(一次显示为mailbox_type= sentbox,一次显示为mailbox_type= inbox)。对于发送给其他用户的消息,我没有这个问题。

我只想在我的对话视图中显示一次消息(理想情况下是inbox查看我的收件箱时的sentbox版本和查看我发送的消息时的版本。)有没有办法可以做到这一点?

这是我show在自定义中的操作ConversationsControllercurrent_user是指示当前登录用户的设计方法)

我还在我的show行动中尝试了以下组合,所有结果都相同。

  • 使用inbox方法而不是conversations方法:
    @conversation = @mailbox.inbox.find(params[:id])
  • 在实例变量上使用receipts_for方法:@mailbox
    @receipts = @mailbox.receipts_for(@conversation)

这是我的相应show.html.erb视图

有没有办法让我的“收件箱”视图与自己的对话不显示重复的消息?

0 投票
1 回答
102 浏览

ruby-on-rails - 特定操作后重定向

我一直面临着邮箱 gem 的一些问题。特别是回复和垃圾箱,回复邮件并选择删除时也会发送到垃圾箱,但这样做后我无法成功地将其重定向到收件箱。我总是不断收到错误“找不到具有 id 的用户”以下是垃圾部分的控制器代码 -

日志

更新日志

使用 redirect_to 对话更改 redirect_to 对话后

请告诉我我做错了什么,我从一天开始就一直在做,但我还没有找到任何解决方案。不用说,userA 和 userB 都是不同的设计用户。任何关于它的建议都是最受欢迎的。

0 投票
1 回答
135 浏览

ruby-on-rails-4 - Mailboxer 将收件人从用户的电子邮件更改为用户名 RoR 4

我是一名初级程序员,我刚刚在我的 Ruby on Rails 4 Web 应用程序中实现了 Mailboxer。一切都很好,但我想让收件人成为用户的名字,而不是他们的电子邮件。我已经搜索了几个小时,但找不到准确的答案。这是我的代码,尽管它几乎完全符合文档的指示。

配置/初始化程序/mailboxer.rb

应用程序/模型/user.rb

任何帮助将不胜感激。我已经尝试过使用代码,但我不能完全得到正确的调整组合。太感谢了!

0 投票
2 回答
915 浏览

ruby-on-rails - 使用 Mailboxer 通知传递对象

我正在尝试使用 Mailboxer 向用户发送通知,并且我需要传递一个对象,该对象将影响通知在导航栏的通知下拉列表中的显示方式。

最后一个参数是我试图传递对象的地方,@offer.

这是我正在尝试使用的 Mailboxer 方法:

它调用这个notify_all方法:

当我尝试使用 this: 访问对象时<%= notification.object_id %>,我得到一个长数字,例如205981093. 如果我尝试使用以下方法访问offer对象的字段之一,则会出现错误:<%= notification.object_id.title %>

我什至不确定这是否是使用邮箱通知的方式。我很难找到有关它们的信息。任何帮助是极大的赞赏。

0 投票
1 回答
130 浏览

ruby-on-rails - 来自 Gem 的模型丢失

我在我的 Rails 4 应用程序中使用邮箱。

我最近将它从 更新0.110.12.4,它停止工作,我不知道为什么。现在,我收到错误消息:

我检查了 gem 的GitHub 存储库,它确实有Message模型。

我检查了我的本地版本的 gem,它匹配了。

为什么我的应用找不到模型?我该如何解决?

0 投票
1 回答
405 浏览

ruby-on-rails-4 - 如何覆盖邮箱邮件程序

为了使用 Mandrill API,我在我的 mailers 文件夹中自定义了 notification_mailer.rb,但 mailer 忽略了它并继续使用常规的 smtp 方法。我对 Devise 做了同样的事情,但 Devise 在其初始化文件管理器中有一个 config.mailer。不是邮箱。

下面是邮件文件。感谢指点。