【发布时间】:2013-02-23 13:04:22
【问题描述】:
我以前没有经历过这种情况,但是自从将我的 rails 站点移至 Heroku 后,每当尝试触发 Devise 发送电子邮件时,我都会收到以下消息
Started POST "/members/forgot-password" for 127.0.0.1 at 2013-02-24 00:02:27 +1100
Processing by Devise::PasswordsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"9G1P34ddbq2TN7SkmFuCet5d7fPMvWdSSpIaGqSZW9g=", "user"=>{"email"=>"paul.mcguane@*****"}, "commit"=>"Recover password"}
User Load (3.1ms) SELECT "users".* FROM "users" WHERE "users"."email" = 'paul.mcguane@me.com' LIMIT 1
Completed 500 Internal Server Error in 31ms
ArgumentError - wrong number of arguments (2 for 1):
app/mailers/devise/mailer.rb:8:in `reset_password_instructions'
mailer.rb
class Devise::Mailer < ::ActionMailer::Base
include Devise::Mailers::Helpers
def confirmation_instructions(record)
devise_mail(record, :confirmation_instructions)
end
def reset_password_instructions(record)
devise_mail(record, :reset_password_instructions)
end
def unlock_instructions(record)
devise_mail(record, :unlock_instructions)
end
end
【问题讨论】:
-
您正在运行哪个版本的 Rails / Devise,以及您的应用程序是否有任何其他依赖项来处理 Heroku 上的电子邮件传递?
-
最终卸载了 gem,重新安装似乎可以解决它:S
标签: ruby-on-rails devise actionmailer