嗨,有聪明的人,我在运行这个代码时遇到了这个问题想不出来。希望有人能帮忙。
这是“忘记密码”重置邮件。
编辑:我试过几次重新启动应用程序这不是导致问题的原因。
用户型号:

validations up here...

def generate_token(column)
  begin
    self[column] = SecureRandom.urlsafe_base64
  end while User.exists?(column => self[column])
end

def send_password_reset
  generate_token(:password_reset_token)
  self.password_reset_sent_at = Time.zone.now
  save!
  UserMailer.deliver_password_reset(self)
end

密码重置控制器:
def create
  user = User.find_by_email(params[:email])
  user.send_password_reset if user
  redirect_to signin_path, :notice => "Email sent with instructions."
end

用户邮件:
class UserMailer < ActionMailer::Base
  default from: "[email protected]"

  def password_reset(user)
    @user = user
    mail(:to => user.email, :subject => "Eventalist - Password Reset.")
  end
end

错误:
uninitialized constant Mail::Ruby19

app/mailers/user_mailer.rb:1:in `<top (required)>'
app/models/user.rb:19:in `send_password_reset'
app/controllers/password_resets_controller.rb:7:in `create'

This error occurred while loading the following files:
 mail

如有任何帮助,我们将不胜感激。
谢谢

最佳答案

总结评论中的答案,以便将此问题从“未答复”筛选器中删除:
根据Shamir K,usermailer语法可能有问题。这是一个公平的观察——请注意原始海报使用的原始材料:
RailsCast #274: Remember Me & Reset Password
这就是说,original poster后来澄清了他的问题是某些配置丢失的结果:
是个虫子出于某种原因,当我生成mailer时,rails变懒了,忘记了它通常所做的一些配置。现在一切都好了谢谢

10-01 06:21