2012-11-23 58 views
2

嗨,那裏有輝煌的頭腦,我試圖運行這段代碼時遇到了這個問題。無法弄清楚。希望有人能幫忙。未初始化的常量Mail :: Ruby19

這是爲「忘記密碼」重置郵件。

編輯:我曾嘗試重新啓動應用程序幾次。這不是造成問題的原因。

用戶模型:

validations up here... 

def generate_token(column) 
    begin 
    self[column] = SecureRandom.urlsafe_base64 
    end while User.exists?(column => self[column]) 
end 

def send_password_reset 
    generate_token(:password_reset_token) 
    self.password_reset_sent_at = Time.zone.now 
    save! 
    UserMailer.deliver_password_reset(self) 
end 

密碼重置控制器:

def create 
    user = User.find_by_email(params[:email]) 
    user.send_password_reset if user 
    redirect_to signin_path, :notice => "Email sent with instructions." 
end 

用戶郵件收發器:

class UserMailer < ActionMailer::Base 
    default from: "[email protected]" 

    def password_reset(user) 
    @user = user 
    mail(:to => user.email, :subject => "Eventalist - Password Reset.") 
    end 
end 

錯誤:

uninitialized constant Mail::Ruby19 

app/mailers/user_mailer.rb:1:in `<top (required)>' 
app/models/user.rb:19:in `send_password_reset' 
app/controllers/password_resets_controller.rb:7:in `create' 

This error occurred while loading the following files: 
mail 

任何幫助表示讚賞。

非常感謝

+0

'app/mailers/user_mailer.rb'的第一行是什麼?從錯誤消息看來,它似乎是一個'require'語句,無法加載指定的文件。 –

+0

線1級UserMailer <::的ActionMailer基地 2號線從默認:「[email protected]」 –

+0

能否請您編輯的問題,包括完整的'應用程序/郵寄/ user_mailer.rb'文件好嗎?或者至少在前幾行? –

回答

0

總結從意見的答案,以從「未答覆」過濾器中刪除了這個問題:

Shamir K,則UserMailer語法可能是可疑的。這是一個公平的觀測 - 注意由原始的海報在這裏使用的原材料:

RailsCast #274: Remember Me & Reset Password

話雖這麼說,在original poster後來澄清說,他的問題是,一些缺少配置的結果:

It was a bug. For some reason when i generated the mailer, rails go lazy and forgot to dome some of the configuration that it normally does. It's all good now. thanks

相關問題