使用ActionMailer时,它在常规路径中使用“视图”,但是如何配置正在使用的“视图”(即选择自己的视图)?
看起来很容易改变正在使用的'布局',但是对于视图你也一样吗?
答案 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。