没有视图的Rails邮件程序

时间:2011-01-26 14:22:58

标签: ruby-on-rails-3 mailer

是否有可能没有任何视图的Rails 3邮件程序?

当处理纯文本邮件时,能够将正文放在邮件程序本身并且不必仅使用一行文本(或一个I18n键)就可以使用视图。

在某种程度上,我正在寻找类似ActionController的“render:text =>”但对于ActionMailer。

2 个答案:

答案 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节