【问题标题】:Why does action mailer not find any methods?为什么 action mailer 找不到任何方法?
【发布时间】:2012-04-24 03:48:00
【问题描述】:

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

这是怎么回事?

【问题讨论】:

    标签: ruby-on-rails actionmailer


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 2022-08-07
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 2023-03-03
      • 2012-06-13
      相关资源
      最近更新 更多