0
我是Rails的新手,這是我第一次創建郵件程序。我有一個用戶模型,其中包含名稱,角色和電子郵件(所有字符串)。我的應用程序出現問題,這是一個錯誤;它說用戶是不確定的,儘管我認爲我已經通過我的控制器傳遞了它。Rails 4 ActionMailer拋出未定義的本地變量/方法
我已經瀏覽了幾篇文章,Rails指南,API Dock和我仍然無法弄清楚。任何幫助將不勝感激!!!
user_mailer.rb
class UserMailer < ActionMailer::Base
default from: "[email protected]"
def receipt_email(user)
@user = user
@url = 'http://example.com/login'
mail(to: @user.email, subject: 'Thank you!')
end
end
users_controller.rb:
class UsersController < ApplicationController
load_and_authorize_resource :user, param_method: :user_params
def update
respond_to do |format|
if @user.update(user_params)
UserMailer.receipt_email(@user).deliver
format.html { redirect_to users_path, notice: 'User was successfully updated.' }
format.json { render :show, status: :ok, location: @user }
else
format.html { render :edit }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:role, :email)
end
end
錯誤消息:
未定義局部變量或方法`用戶」的UserMailer:類
app/mailers/user_mailer.rb:3:in `<class:UserMailer>'
app/mailers/user_mailer.rb:1:in `<top (required)>'
app/controllers/users_controller.rb:19:in `block in update'
app/controllers/users_controller.rb:17:in `update'
這封郵件的外觀是什麼樣的?有沒有機會引用'user'而不是'@ user'? –
這些都只是純文本 - 我試圖儘可能簡單。沒有變數。 – dean1997
這有點不尋常。該錯誤消息應提及哪些文件和行會生成錯誤。這是什麼意思? – SteveTurczyn