如何配置ActionMailer使用的模板?

时间:2009-09-21 12:28:51

标签: ruby-on-rails

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

看起来很容易改变正在使用的'布局',但是对于视图你也一样吗?

2 个答案:

答案 0 :(得分:5)

在模型中添加模板命令。 E.g:

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

或者,您也可以使用默认视图,但在实际视图中指定部分视图,因此可以像使用普通视图一样使用任何您想要的部分。

答案 1 :(得分:0)

因此,如果您有UserMailer模型,那么您应该有一个目录app / views / user_mailer。在那里你可以根据模型中的方法名称获得视图。所以如果你有一个welcome_email方法,你可以有一个模板welcome_email.text.html.erb(或其他一些)。

有一个非常好的解释(我从中抄来)here