2011-12-15 4 views
2

레일 3.1에 간단한 우편물을 설치하려고합니다.레일즈 메일러 "정의되지 않은 메소드"오류.

I가 내가 해결할 수없는 내 우편물에 다음 코드 ...

내가 가진 내 컨트롤러에 다음
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 Logged – sircapsalot

관련 문제