0

これによると:レール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では、アクションメーラーメソッドにはすべてプレフィックスが付いているdeliver_ため、そのメールを送信するには、DevelopmentMailer.deliver_send_data(data)を呼び出します。

リンクした2.3のドキュメントの「SendingMail」にあります。

また、クラス全体でインスタンスメソッドを呼び出しています。これは、が由来する場所NoMethodErrorです。本当に電話をかけたい場合send_dataは、実行しますDevelopmentMailer.new.send_data(data)が、実際には何も送信されません。

于 2012-04-23T19:48:00.620 に答える