我在尝试发送激活电子邮件时收到错误的参数错误。
Rails.root:/ home / ubuntu / workspace应用程序跟踪|框架跟踪 |完整跟踪
app / mailers / user_mailer.rb:8:在
account_activation' app/models/user.rb:66:in
send_activation_email' app / controllers / users_controller.rb:25:在`create'
user_mailer.rb:
def account_activation
@user = user
mail to: user.email, subject: "Account activation"
end
users_controller.rb:
def create
@user = User.new(user_params)
if @user.save
@user.send_activation_email
redirect_to root_url
else
render 'new'
end
end
模型/ user.rb:
# Sends activation email.
def send_activation_email
UserMailer.account_activation(self).deliver_now
end
根据我的理解,我没有向该方法传递错误数量的参数。
答案 0 :(得分:0)
我相信你错过了:
def account_activation(user)
您正在调用self
,因此该方法需要一个参数。
答案 1 :(得分:0)
您正在发送self
作为参数
UserMailer.account_activation(self)
方法account_activation
不接受任何参数
将您的方法更改为account_activation(user)
,因为您在其中使用user.email