2011-12-15 2 views
2

私はレール3.1で簡単なメーラーをセットアップしようとしています。Rail mailer "undefined method"エラーが発生しました。

私は私のメーラーに次のコードを持っている...

class Notify < ActionMailer::Base 

    default :from => "[email protected]" 

    def send 
    @email = email 
    @ip = ip 
    mail(:to => "[email protected]", :subject => "#{email} just signed up") 
    end 

end 

その後、私のコントローラに私がいる...

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

私はそれをうまくできないことがいくつかの理由私のコントローラでラインが呼び出されました。次のエラーが発生します。

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

私はここで間違っていますか?

答えて

3

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

それで、あなたがメソッドを呼び出そうとしているように見えます。

User.first.send(:name) 

はちょうどあなたのメソッドの名前を変更

User.first.name 

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

+0

ありがとうございました!それはそれを修正した。 – Jon

+0

本当に!ダン..かなり時間を節約する..ありがとうUnixmonkey – sircapsalot

関連する問題