2013-02-27 53 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

相關問題