9

Ruby on rails (3.2.6) でメーラー (3.2.6) をセットアップした後、次のエラーが発生します。

NoMethodError (未定義のメソッド `mail' for #):

私の user_mailer.rb は次のようになります。

class UserMailer < ActionMailer::Base
  default :from => "test@test.com"

  def activation_mail(user)
    @user = user
    mail(:to => user.mail, :subject => "Registration")
  end
end

ここで提供されている例に従いました: http://guides.rubyonrails.org/action_mailer_basics.html

構成ファイルに次の行を追加しました: config.action_mailer.delivery_method = :test :smtp と gmail の構成も試しました。

私は何を逃したのですか?

4

5 に答える 5

4

私は最近同様の問題を抱えていましたが、次のものを置き換えることで修正しました:

def self.activation_mail()

def activation_mail()
于 2014-03-20T10:18:05.943 に答える
3

交換してみてください

def activation_mail(user)
    @user = user
    mail(:to => user.mail, :subject => "Registration")
  end

def activation_mail(user)
    @user = user
    mail(:to => @user.mail, :subject => "Registration")
  end
于 2014-01-22T18:14:34.003 に答える
2

タイプミスです。あなたのuser.mailは存在しません。多分それはuser.emailか何か他のものであるべきです。

于 2013-01-01T17:51:03.217 に答える
0

渡した「ユーザー」オブジェクトは、1)正しくインスタンス化されていないか、2)個々のユーザーオブジェクトではなく配列であるに違いありません。

于 2012-10-11T20:36:56.823 に答える
0

メーラー ビューのタイプミスがこの問題の原因であることがわかりました。エラー メッセージは誤解を招きます。

于 2016-11-28T15:22:32.450 に答える