2014-10-15 4 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

Ahh, что может быть проблемой, я использую рельсы (4.2.0.beta1), попробует это tonite спасибо! – Bruno

+0

@Bruno. Если этот ответ исправить вашу проблему, вы можете принять правильный ответ. –

10

Я думаю, что это потому, что это deliver (или deliver! для версии взрыва), а не deliver_now.

См ActionMailer::Base

+0

На самом деле это говорит об обратном: 'mail.deliver_now # генерирует и отправляет письмо прямо сейчас –

7

deliver работает вместо deliver_now для более старых версий Rails.

+0

работает ли с тем же кодом? – carlodurso

Смежные вопросы