问题标签 [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.
ruby-on-rails - Mailboxer Gem 使用多个模型
我有两个模型用户和员工需要相互交互。这是一个基于示例应用程序(控制器)的控制器。我需要它对这两种模型都有效,但为 def 添加一个 if/else 语句,例如邮箱等,以确定员工或用户是否登录显示“堆栈级别太深”错误。我是 Rails 新手,在多次谷歌搜索/SO 之后无法理解我的错误是什么。消息传递应该在这两个模型之间,发起者应该是用户。(更新:我发现Mailboxer Gem--Restrict 消息传递的 SO 帖子)非常感谢!
ruby-on-rails-4 - Rails 4 Index.html.erb 循环
所以我的邮箱对话有以下索引:
对话/index.html.erb
我之所以想到这个,是因为首先它说“参与者”没有本地方法,然后它说“对话”没有本地方法。所以我只是为他们两个做了一个 each.do 循环。
这行得通...它列出了发件人和主题以及将每封邮件移动到垃圾文件夹的选项...但它开始每秒循环大约 5 次到无穷大。(我假设这是服务器上的地狱。)
然后我注意到这也发生在用户 index.html 和 edit.html
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 知识的人能加入进来,我将不胜感激。提前致谢。
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:
对话控制器:
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
在自定义中的操作ConversationsController
(current_user
是指示当前登录用户的设计方法)
我还在我的show
行动中尝试了以下组合,所有结果都相同。
- 使用
inbox
方法而不是conversations
方法:
@conversation = @mailbox.inbox.find(params[:id])
- 在实例变量上使用
receipts_for
方法:@mailbox
@receipts = @mailbox.receipts_for(@conversation)
这是我的相应show.html.erb
视图
有没有办法让我的“收件箱”视图与自己的对话不显示重复的消息?
ruby-on-rails - 特定操作后重定向
我一直面临着邮箱 gem 的一些问题。特别是回复和垃圾箱,回复邮件并选择删除时也会发送到垃圾箱,但这样做后我无法成功地将其重定向到收件箱。我总是不断收到错误“找不到具有 id 的用户”以下是垃圾部分的控制器代码 -
日志
更新日志
使用 redirect_to 对话更改 redirect_to 对话后
请告诉我我做错了什么,我从一天开始就一直在做,但我还没有找到任何解决方案。不用说,userA 和 userB 都是不同的设计用户。任何关于它的建议都是最受欢迎的。
ruby-on-rails-4 - Mailboxer 将收件人从用户的电子邮件更改为用户名 RoR 4
我是一名初级程序员,我刚刚在我的 Ruby on Rails 4 Web 应用程序中实现了 Mailboxer。一切都很好,但我想让收件人成为用户的名字,而不是他们的电子邮件。我已经搜索了几个小时,但找不到准确的答案。这是我的代码,尽管它几乎完全符合文档的指示。
配置/初始化程序/mailboxer.rb
应用程序/模型/user.rb
任何帮助将不胜感激。我已经尝试过使用代码,但我不能完全得到正确的调整组合。太感谢了!
ruby-on-rails - 使用 Mailboxer 通知传递对象
我正在尝试使用 Mailboxer 向用户发送通知,并且我需要传递一个对象,该对象将影响通知在导航栏的通知下拉列表中的显示方式。
最后一个参数是我试图传递对象的地方,@offer
.
这是我正在尝试使用的 Mailboxer 方法:
它调用这个notify_all
方法:
当我尝试使用 this: 访问对象时<%= notification.object_id %>
,我得到一个长数字,例如205981093
. 如果我尝试使用以下方法访问offer
对象的字段之一,则会出现错误:<%= notification.object_id.title %>
我什至不确定这是否是使用邮箱通知的方式。我很难找到有关它们的信息。任何帮助是极大的赞赏。
ruby-on-rails - 来自 Gem 的模型丢失
我在我的 Rails 4 应用程序中使用邮箱。
我最近将它从 更新0.11
为0.12.4
,它停止工作,我不知道为什么。现在,我收到错误消息:
我检查了 gem 的GitHub 存储库,它确实有Message
模型。
我检查了我的本地版本的 gem,它匹配了。
为什么我的应用找不到模型?我该如何解决?
ruby-on-rails-4 - 如何覆盖邮箱邮件程序
为了使用 Mandrill API,我在我的 mailers 文件夹中自定义了 notification_mailer.rb,但 mailer 忽略了它并继续使用常规的 smtp 方法。我对 Devise 做了同样的事情,但 Devise 在其初始化文件管理器中有一个 config.mailer。不是邮箱。
下面是邮件文件。感谢指点。