gpt4 book ai didi

ruby-on-rails - Action Mailer Design Patterns : Is it better to have a single mailer (eg. Notifier) 或每个模型的邮件程序(例如 UserMailer、ProductMailer)?

转载 作者:行者123 更新时间:2023-12-02 05:09:46 24 4
gpt4 key购买 nike

当我在 Rails3 中使用 ActionMailer 时,我试图更好地理解良好的设计模式(如果它有所不同,则为 3.1)。

一般而言,对于 Rails 应用程序,我通常为整个应用程序创建一个邮件程序(例如,将其称为通知程序之类的东西)更好,或者我是否创建邮件程序来反射(reflect)需要邮件的模型。例如 UserMailer、ProductMailer 等

我是默认使用一种还是多种,哪种方法更好,或者我什么时候使用哪种方法?

谢谢

进化2k


长话短说

背景信息

在过去的项目中,我们通常有一个名为 Notifier 的应用程序邮件程序,我们将它用于我们发送的所有邮件。我认为来自这里:http://lindsaar.net/2010/1/26/new-actionmailer-api-in-rails-3

例如。

class Notifier < ActionMailer::Base
default :from => "from@example.com"
end

然而,RailsGuides 似乎暗示我,每次我有一个需要执行一些与邮件相关的事件的模型时,我都应该创建一个新的邮件程序。我的看法是,正如模型具有同名的 Controller 和 View 一样,模型也可能具有同名的 ActionMailer。

如图所示:http://guides.rubyonrails.org/action_mailer_basics.html

例如。

class UserMailer < ActionMailer::Base
default :from => "from@example.com"
end

如上所述,哪种方法更好,何时使用?

最佳答案

我认为这是一个更普遍问题的具体实例,即“我应该将我的代码放入多少个离散的文件/目录/包中?”除非您的邮件程序在某种程度上有所不同(例如,具有不同的 header /包含文件,使用不同的邮件服务器等),否则这主要是个人喜好问题。

就个人而言,我倾向于将事物分解成相关的 block ,但如果您认为这样做没有好处,请不要这样做!

关于ruby-on-rails - Action Mailer Design Patterns : Is it better to have a single mailer (eg. Notifier) 或每个模型的邮件程序(例如 UserMailer、ProductMailer)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6910749/

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