2014-10-15 8 views
16
내가 내 컨트롤러이이

:NoMethodError : 정의되지 않은 메서드`deliver_now '

def create 
    @user = User.new(user_params) 
    if @user.save 
     UserMailer.account_activation(@user).deliver_now 
    .... 
    end 

그리고이 오류가 점점 계속 :

NoMethodError: undefined method `deliver_now' for #<ActionMailer::MessageDelivery:0x007ffa6646eb60> 

어떤 아이디어가 왜이 deliver_now 방법을 찾지 못하는 것입니까?

답변

27

deliver_now가 레일 4.2.beta2에 도입 된 참조하십시오. 아마 이전 버전을 사용하고 있습니다.

+0

아아, 제가 레일 (4.2.0.beta1)을 사용하여 문제가 될 수 있습니다. – Bruno

+0

@ 브루노,이 대답으로 문제가 해결되면 정답으로 인정할 수 있습니다. –

10

나는 이 아니기 때문에 deliver (또는 deliver!은 강타 버전입니다.)이라고 생각합니다.

ActionMailer::Base

+0

실제로 반대로 말합니다 : 'mail.deliver_now # 지금 이메일을 생성하고 보냅니다. ' –

7

deliver 이전 버전의 레일즈는 deliver_now 대신 작동합니다.

+0

똑같은 코드로 작동합니까? – carlodurso

관련 문제