3

Rails 3.1 で簡単なメーラーをセットアップしようとしています。

メーラーに次のコードがあります...

class Notify < ActionMailer::Base

  default :from => "signup@raceton.com"

  def send
    @email = email
    @ip = ip
    mail(:to => "test@test.com", :subject => "#{email} just signed up")
  end

end

次に、コントローラーに...

Notify.send(params[:email], ip).deliver

コントローラーでその行が呼び出されたときにうまくいかない何らかの理由で、次のエラーが表示されます...

undefined method `*string I passed in*' for Notify:Class

ここで私が間違っていることはありますか?

4

1 に答える 1

3

send() は Ruby によって既に定義されており、メッセージの受け渡しに使用されます。

つまり、Ruby にはメソッドを呼び出そうとしているように見えます。

User.first.send(:name)

を呼び出すのと同じことです

User.first.name

メソッドの名前を変更するだけです。

于 2011-12-15T21:52:51.307 に答える