在用户在设计 rails 3 应用程序中注册时发送操作邮件电子邮件



我正在尝试在使用 Devise gem 的 rails 3 应用程序中注册用户时发送电子邮件。每次我尝试发送电子邮件时,都会收到以下错误:

NoMethodError in Devise::RegistrationsController#create用户邮件程序的未定义方法"welcome_email":类

我的应用程序/模型/用户.rb 有以下代码...

after_create :send_welcome_email
  def send_welcome_email
    UserMailer.welcome_email(self).deliver
  end

我的应用程序/邮件/user_mailer.rb 有以下代码...

class UserMailer < ActionMailer::Base
  default from: "support@mysite.com"
  def welcome_email(user)
    @user = user
    @url  = "http://mysite.com/login"
    mail(:to => "#{user.email}", :subject => "Welcome to My Awesome Site")
  end
end

该方法welcome_email存在,所以我不确定为什么会出现错误。在过去的几个小时里,一直在尝试解决此问题。

提前感谢您的帮助!!一如既往,如果你给我一个好的答案,我会接受的。亚历克斯

看起来welcome_email是一个实例方法。看起来错误说它需要是一个类方法。因此,请尝试将方法声明重写为:

定义self.welcome_email(用户)

我想这应该可以解决它。

相关内容

  • 没有找到相关文章

最新更新