gpt4 book ai didi

ruby-on-rails-3 - Rails - 使用布局对所有电子邮件使用相同的附件

转载 作者:行者123 更新时间:2023-12-04 11:30:30 25 4
gpt4 key购买 nike

我可能遗漏了一些明显的东西,但我有一个 Logo ,我想将其包含在我从我的应用程序发送的所有电子邮件中。我有一个用于所有这些 Mailers 的主布局。我假设有一种方法可以让它保持干燥,而不必在每个邮件方法中添加代码行来附加文件。有人可以指出我正确的方向或纠正我的思路。

谢谢!

最佳答案

future 的 Rails 版本将支持使用 before_filter 和 after_filter 的回调:

http://github.com/rails/rails/commit/4f28c4fc9a51bbab76d5dcde033c47aa6711339b

由于它们将使用 AbstractController::Callbacks 实现,因此您可以执行以下操作来模仿 Rails 4 发布后 ActionMailer::Base 中将出现的功能:

class YourMailer < ActionMailer::Base
if self.included_modules.include?(AbstractController::Callbacks)
raise "You've already included AbstractController::Callbacks, remove this line."
else
include AbstractController::Callbacks
end

before_filter :add_inline_attachments!

private
def add_inline_attachments!
attachments.inline["footer.jpg"] = File.read('/path/to/filename.jpg')
end
end

这包括将在 future 的 rails 版本中使用的模块,因此您可用的回调 Hook 将是相同的,以确保 future 的兼容性。当您尝试升级到已经包含 AbstractController::Callbacks 的 Rails 版本时,代码会出现,因此会提醒您删除条件逻辑。

关于ruby-on-rails-3 - Rails - 使用布局对所有电子邮件使用相同的附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113121/

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