0

据此:在 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):

那是怎么回事?

4

1 回答 1

1

在 Rails 2.3 中,action mailer 方法都以 为前缀deliver_,因此为了发送该邮件,您需要调用 DevelopmentMailer.deliver_send_data(data)

它在您链接的 2.3 文档中,在“发送邮件”下。

您还在整个类上调用了一个实例方法,这就是 theNoMethodError的来源。如果你真的想打电话send_data,你会跑DevelopmentMailer.new.send_data(data),但实际上不会发送任何东西。

于 2012-04-23T19:48:00.620 回答