为什么动作邮件找不到任何方法?

时间:2012-04-23 18:50:11

标签: ruby-on-rails actionmailer

根据这一点:在rails 2.3.14中创建邮件很容易:http://railsapi.com/doc/v2.3.2/

但是..它对我不起作用

我做了

bundle exec script/generate development_mailer

并添加了一个方法:

  def send_data(data)
    Time.zone = 'Eastern Time (US & Canada)'

    subject     "An error has occurred"
    recipients  "bugs@myapp.com"
    from        AppConfig['from_email']
    sent_on     sent_at

    body["email"] = data
  end

但是当它试图运行时,我收到此错误:

NoMethodError (undefined method `send_data' for DevelopmentMailer):

这是怎么回事?

1 个答案:

答案 0 :(得分:1)

在Rails 2.3中,动作邮件程序方法都以deliver_为前缀,因此为了发送该邮件,您可以调用DevelopmentMailer.deliver_send_data(data)

这是您在“发送邮件”下链接的2.3文档。

您还在整个类上调用实例方法,这是NoMethodError的来源。如果你真的想打电话给send_data,你可以运行DevelopmentMailer.new.send_data(data),但实际上不会发送任何内容。