【问题标题】:Rails ActionMailer - a way to support subfolders for mail templates?Rails ActionMailer - 一种支持邮件模板子文件夹的方法?
【发布时间】:2012-09-22 18:36:42
【问题描述】:

有没有办法为 actionmailer 电子邮件模板创建子文件夹?

  def new_message(user)
    @user = user
    mail(:to => user.email, :subject => "You have recieved a new message!")
  end

例如会加载 /app/mailers/new_message.text.erb。 有没有办法像 /app/mailers/messages/new_message.text.erb 这样存储邮件模板?

我尝试将其组织得更多,不喜欢 1 个大目录中的所有内容(想想 text 和 html 版本 + 几个本地 _en、_fr 版本,这就变成了一大堆文件。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 actionmailer subdirectory


    【解决方案1】:

    我不知道你是否真的可以这样做,但我相信你可以创建多个 ActionMailer 类,如通知程序:

    class Notifier < ActionMailer::Base

    并在此处定义通知方法(欢迎消息,更改密码,...:自动消息)

    这样,您可以根据角色将“邮件方法”划分为不同的模型。

    我知道它不能回答问题,但它是一种解决方法;)

    【讨论】:

    • 是的,但它们仍然不在 /mailer/subfolder 中,对吧?这只会限制他们将所有文件的问题保留在 1 个文件夹中,但谢谢建议
    • 我最后遵循了默认的 Rails 约定 /app/views/mailer_something
    • 最终听从了你的建议,这是 Rails 的最佳实践,但仍然必须将其设置为可接受的答案,因为似乎没有其他方法(而且与惯例作斗争是不好的)
    猜你喜欢
    • 2011-08-11
    • 2013-06-17
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    相关资源
    最近更新 更多