是否有可能没有任何视图的Rails 3邮件程序?
当处理纯文本邮件时,能够将正文放在邮件程序本身并且不必仅使用一行文本(或一个I18n键)就可以使用视图。
在某种程度上,我正在寻找类似ActionController的“render:text =>”但对于ActionMailer。
答案 0 :(得分:22)
更简单,只需使用 body 选项:
def welcome(user)
mail to: user.email,
from: "\"John\" <admin@domain.ch>",
subject: 'Welcome in my site',
body: 'Welcome, ...'
end
如果您打算使用html,请不要忘记使用 content_type 选项指定该选项,默认情况下为 text / plain 。
content_type: "text/html"
因此,使用 body 选项rails会跳过模板渲染步骤。
答案 1 :(得分:17)
我通过实验找到了方法:
mail(:to => email, :subject => 'we found the answer') do |format|
format.text do
render :text => '42 owns the World'
end
end
这在Rails指南中也有说明: http://guides.rubyonrails.org/action_mailer_basics.html在第2.4节