代码之家  ›  专栏  ›  技术社区  ›  Kris

如何配置ActionMailer使用的模板?

  •  1
  • Kris  · 技术社区  · 15 年前

    使用ActionMailer时,它在常规路径中使用“视图”,但是如何配置正在使用的“视图”(即,选择自己的视图)?

    更改正在使用的“布局”看起来很容易,但在何处对视图执行相同操作?

    2 回复  |  直到 15 年前
        1
  •  5
  •   JRL    15 年前

    添加一个 模板 你的模型中的命令。例如。:

    class UserMailer < ActionMailer::Base
      def welcome_email(user)
        recipients user.email
        from "Me<me@example.com>"
        subject "Welcome!"
        sent_on Time.now
        body {:user => user, :url => "http://example.com/login"}
        content_type "text/html"
        ## use some_other_template.text.(html|plain).erb instead
        template "some_other_template"
      end
    end
    

    或者,您也可以使用默认视图,但在实际视图中指定一个部分,从而像使用任何普通视图一样使用所需的任何部分。

        2
  •  0
  •   Shane Liebling    15 年前

    因此,如果您有一个用户邮箱模型,那么您应该有一个目录app/views/user邮箱。在那里,您将拥有基于模型中方法名的视图。因此,如果您有一个欢迎电子邮件方法,您可以有一个模板welcome.text.html.erb(或类似的模板)。

    有一个很好的解释(我从中摘录) here .