2013-02-27 115 views
0

我已经为订单确认生成了一封邮件。我在/购买了一个NameError。 错误读取:未初始化的常量PurchasesController :: 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 2013-02-27 15:00:42

+0

显示您的UserMailer模型 – Learner 2013-02-27 15:02:29

+0

@jvnill - 辉煌。那是固定的。现在我得到一个未定义的mailto方法:purchase.email – nil 2013-02-27 15:18:46

回答

-1

这可能是由两个原因的问题及以下只是一个想法...

1)您需要重新启动rails server您加入后Mailer

(或)

尝试在您的production服务器上运行并检查它。

2)检查UserMailer拼写应该是user_mailer.rb

(或)

确保您使用的UserMailerUserMailer.rb会中断,而user_mailer.rb是预期的。

让我们知道一旦它没有解决上述两个选项

+1

要求某人通过在其生产服务器上运行代码来测试代码是*不酷*。 – sevenseacat 2013-02-27 15:10:17

+0

我有同样的问题,当我开始'RAILS_ENV =生产。/脚本/服务器'和错误消失。将这个信息传达给他来检查与否是否是错误的? – Learner 2013-02-27 15:12:55

+0

嗨感谢@sri的想法 - 但我确实修复了这个错误,但现在又换了一个。但我同意sevensseacat - 我很高兴我没有尝试它在制作。哈哈。 – nil 2013-02-27 15:27:33

相关问题