[英]ArgumentError: wrong number of arguments
在尝试发送激活电子邮件时,我收到错误的参数数量错误。
Rails.root:/ home / ubuntu / workspace应用程序跟踪| 框架跟踪| 完整追踪
app / mailers / user_mailer.rb:8:in
account_activation' app/models/user.rb:66:in
send_activation_email'app / controllers / users_controller.rb:25:in"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
根据我的理解,我没有向方法传递错误数量的参数。
我相信你错过了:
def account_activation(user)
你正在调用self
,所以该方法需要一个参数。
你发送self
作为一个论点
UserMailer.account_activation(self)
方法account_activation
不接受任何参数
将您的方法更改为account_activation(user)
因为您在其中使用user.email
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.