2013-02-27 3 views
0

Я создал почтовую программу для подтверждения заказа. Я получаю NameError при покупке/покупке. Ошибка гласит:неинициализированная постоянная покупкаController :: UserMailer

uninitialized constant PurchasesController::UserMailer 
    /controllers/purchases_controller.rb 

class PurchasesController < InheritedResources::Base 
    before_filter :authenticate_admin_user!, :only => [:index, :edit, :update, :destroy] 

    def create 
    @purchase = Purchase.new(params[:purchase]) 
    if @purchase.save 
     UserMailer.purchase_confirmation(@purchase).deliver 
     redirect_to "/thankyou" 
    else  
     render :action => "new" 
    end 

Я копался и нашел подобные проблемы, но ничего, как еще решить мою проблему. Любая помощь?

+3

Вы уверены, что у вас есть почтовая программа UserMailer? – jvnill

+0

показать свою модель UserMailer – Learner

+0

@jvnill - Brilliant. Ну, это исправлено. Теперь я получаю Undefined метод для mailto: purchase.email – nil

ответ

-1

Это может быть причиной двух проблем, и следующее это просто идея ...

1) Вам необходимо перезапустить rails server после добавил Mailer

(или)

Попробуйте запустите на своем сервере production и проверьте его.

2) проверка заклятие UserMailer должна быть user_mailer.rb

(или)

Убедитесь, что вы используете UserMailer. UserMailer.rb будет ломаться, тогда как user_mailer.rb - это то, что ожидается.

Сообщите нам, когда не удалось решить вышеуказанные два варианта.

+1

просит кого-то проверить код, запустив его на своем производственном сервере, - это не круто *. – sevenseacat

+0

У меня была такая же проблема, и когда я запускал 'RAILS_ENV = production./Script/server' и ошибка dissapear. Неправильно ли передать это сообщение ему, чтобы проверить это или нет? – Learner

+0

Эй, спасибо за идеи @sri - но я исправил это обман, но теперь получил еще один. Но я согласен с sevensseacat - я рад, что не пробовал это в prodcuction. ха-ха. – nil

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