没有Rails的ActionMailer - 视图未被拾取

时间:2011-09-07 13:18:26

标签: ruby actionmailer

我已将ActionMailer 3.x设置为在Rails之外使用,但电子邮件没有正文。有人可以帮忙吗?

# ./app.rb
require 'action_mailer'
ActionMailer::Base.delivery_method = :file
ActionMailer::Base.file_settings[:location] = './tmp/mails'
ActionMailer::Base.view_paths = './views'

class Mailer < ActionMailer::Base
  def instructions(email_address)
    mail(:to => email_address, :subject => 'hello')
  end
end

Mailer.instructions('test@email.com').deliver

然后我有两个文件用于我的视图,一个用于纯文本

# ./views/mailer/instructions.text.erb
These are some instructions

一个用于HTML(使用HAML - 我知道这有一些潜在的问题,这里的任何建议也会受到赞赏!)

# ./views/mailer/instructions.html.haml
%html
  %body
    %h1 These are some HTML instructions

但如果我检查新创建的./tmp/mails/test@email.com我只有以下内容,而且没有正文:

Date: Wed, 07 Sep 2011 18:38:09 +0530
From: my@address.com
To: test@email.com
Message-ID: <4e676ab8e2bc5_274560aab8567d0@mycomputer.mail>
Subject: hello
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

有什么想法在这里发生了什么?提前致谢

1 个答案:

答案 0 :(得分:1)

从Rails 2.x迁移后 - > 3.x我有同样的问题(虽然有点不同的设置)。我的HTML电子邮件没有正文。我将我的邮件程序类从models文件夹移动到mailers文件夹并更改了我的视图文件名:

file_name.text.html.erb

=&GT;

file_name.html.erb

我希望这会有所帮助。