0
我試圖在用戶完成網站內的各種操作(例如創建新狀態)時用ActionMailer觸發電子郵件。爲什麼我的ActionMailer中會出現NoMethodError?
當我嘗試調用的狀態控制器的創建方法的郵件,我得到一個NoMethodError:用於無
未定義的方法「電子郵件」:NilClass
誰能幫我找出是什麼錯誤?
這裏是我的代碼從狀態控制器內:
def create
@status = current_user.statuses.new(params[:status])
respond_to do |format|
if @status.save
UserMailer.status_confirmation(@user).deliver
format.html { redirect_to @status, notice: 'Status was successfully created.' }
format.json { render json: @status, status: :created, location: @status }
else
format.html { render action: "new" }
format.json { render json: @status.errors, status: :unprocessable_entity }
end
end
end
這裏是我的UserMailer代碼:
class UserMailer < ActionMailer::Base
default :from => "[email protected]"
def status_confirmation(user)
mail(:to => user.email, :subject => "Status Posted")
end
end
戴夫,我的意思是current_user。這就像一個魅力。謝謝! –