gpt4 book ai didi

ruby-on-rails - RoR Mailboxer Monkey Patch 只工作了几次

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:24 24 4
gpt4 key购买 nike

我正在向 Mailboxer::Conversation 添加一个方法来检索使用邮箱的电子邮件回复的链接(即 reply_link)。

我决定在我的应用程序中修改邮箱程序。我所做的具体如下:

  1. 创建文件夹结构 lib/mailboxer/extensions
  2. 添加了文件 lib/mailboxer/extensions/conversation.rblib/mailboxer/extensions.rblib/mailboxer.rb

文件内容如下:

# lib/mailboxer/extensions/conversation.rb
module Mailboxer
module Extensions
module Conversation
def reply_link
"/mail?notif_id=#{id}"
end
end
end
end

# lib/mailboxer/extensions.rb
require 'mailboxer/extensions/conversation'

# lib/mailboxer.rb
require 'mailboxer/extensions'

我的 config/application.rb 有以下内容:

config.autoload_paths += %W(#{config.root}/lib)

这让我可以访问我的 lib 文件夹。然后我要做的是将 Mailboxer::Extensions::Conversation 包含在邮箱初始化程序文件 initalizers/mailboxer.rb 中的 Mailboxer::Conversation 中:

Mailboxer.setup do |config|
# ...
end

Mailboxer::Conversation.include Mailboxer::Extensions::Conversation

在我的 rails console 中,代码始终有效。但是在网站中,reply_link 方法开始起作用,然后随机变为 undefined。

enter image description here

稍后尝试几次......

enter image description here

它会停止工作,直到我重新启动服务器...

每当我遇到不相关的异常(即拼写错误、重构等)时,reply_link 方法就会变得未定义。这可能是发展的事情吗?

我可以 fork 邮箱,进行更改然后继续。但该方法非常适合我的应用程序,我宁愿只打补丁。

如果有人有任何建议、建议或问题,我非常感谢您的建议。

最佳答案

首先,我仍然坚信这只是一个开发问题。每当我有空闲时间时,我都会对此进行测试并在此处发布。

其次,为了确保不再发生这种情况,我复制了 Mailboxer 对话的源代码并添加了一个包含项 include MailboxerExt::Conversation

我还构建了我的扩展,使其不会冲突,重新加载 Mailboxer 的命名空间。

最终结果有文件夹app/models/mailboxer, lib/mailboxer_ext

文件是 app/models/mailboxer/conversation.rblib/mailboxer_ext.rblib/mailboxer_ext/conversation.rb .

关于ruby-on-rails - RoR Mailboxer Monkey Patch 只工作了几次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37148992/

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