Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 自定义邮件程序未定义方法_Ruby On Rails_Devise_Actionmailer_Mandrill - Fatal编程技术网

Ruby on rails 自定义邮件程序未定义方法

Ruby on rails 自定义邮件程序未定义方法,ruby-on-rails,devise,actionmailer,mandrill,Ruby On Rails,Devise,Actionmailer,Mandrill,我有一个从Deave继承的定制邮递员 这是我的控制器: class RegistrationsController < Devise::RegistrationsController def create super if @user.persisted? CustomMailer.new_registration(self).deliver end end end 类注册控制器

我有一个从Deave继承的定制邮递员

这是我的控制器:

class RegistrationsController < Devise::RegistrationsController
 def create
  super
  if @user.persisted?
   CustomMailer.new_registration(self).deliver
  end
 end
end 
类注册控制器
这是邮递员:

class CustomMailer < Devise::Mailer   

def new_registration(user)
 @user = user
 mandrill_mail(
  template: 'New User Welcome',
  to: @user.email,
  vars: {
    'USER_FIRST_NAME' => user.first_name,
  },
  important: true,
  inline_css: true,
  async: true
 )
 end
end
class-CustomMailerUSER.FIRST\u NAME,
},
重要提示:没错,
inline_css:true,
异步:true
)
终止
终止
我觉得我已经尝试了所有的可能性,但总是得到这样一个命名错误:nil:NilClass的未定义方法'email'

所以出于某种原因,我的邮件无法访问我的模型

我正在使用Rails 4和Desive 3.2.4,如果这有什么不同的话,还有Mandrill Mailer


如果您能提供任何帮助,我们将不胜感激。已经使用了几个小时。

当您需要通过
@user
时,您正在
注册控制器中通过
self

class RegistrationsController < Devise::RegistrationsController
 def create
  super
  if @user.persisted?
   CustomMailer.new_registration(@user).deliver
  end
 end
end
类注册控制器
self
在本例中是控制器的一个实例,而不是您在邮件中需要的
用户
记录