为什么我必须使用ActionMailer指定文本格式来呈现模板?

Ian*_*ton 3 ruby-on-rails actionmailer ruby-on-rails-3

我正在使用ActionMailer 3.0.7

根据文档,纯文本电子邮件是默认的.因此,如果我有一个带有notify方法的EnquiryNotifier邮件程序,那么我希望它app/views/enquiry_notifier/notify.text.plain.erb会被渲染.

如果我只是mail(someparams)在notify方法中使用,那么电子邮件的正文是空的.

我读到ActionMailer旨在扫描视图目录以查找所有类型的模板.

但是,如果我在块中指定格式并执行

mail(:to => 'somebody', :subject => 'something') do |format|
    format.text
end
Run Code Online (Sandbox Code Playgroud)

然后我的模板notify.text.plain.erb会被渲染.

也许不相关:如果我没有指定格式但是将模板重命名为notify.erb然后它可以工作,但电子邮件是以text/html的形式发送的.

twm*_*lls 5

这是在rails 3.0.6中对我有用的东西:

  1. 我的邮件程序类中根本没有指定格式,我只是让它自动查找视图.
  2. 我将我的观点命名为"notify.text.erb"