注册

时间:2015-08-11 05:52:40

标签: ruby-on-rails ruby email devise

在user.rb

  after_create :welcome_message

  def welcome_message
    UserMailer.welcome_email(self.email).deliver
  end
路线devise_for :users

中的

用户邮件

中的

  def welcome_email(user)
    @user = user
    mail(:to => user.email, 
        :subject => "Welcome to Vancouver Presales!")
  end

我有这个错误:

  

使用" mailer"缺少模板user_mailer / welcome_email。搜索范围:   *" user_mailer"

请任何人告诉我什么是错的?

2 个答案:

答案 0 :(得分:4)

  

使用" mailer"缺少模板user_mailer / welcome_email。搜索范围:   *" user_mailer"

声明它将为特定邮件程序的方法寻找模板,但您尚未创建,因此您收到此错误。使用mailer_method_name.html.erb

下的app/views/your_mailer/mailer_method_name.html.erb创建模板

像这样在UserMailer下创建模板:

<强> app/views/user_mailer/welcome_email.html.erb

# you can design your template here how it should look when user receive the mail

<h1>Welcome <%= @user.name.present? ? @user.name : @user.email %> to Vancouver Presales! </h1>
....

答案 1 :(得分:0)

您需要创建一个与发送电子邮件的方法名称相同的模板。 所以你需要在目录中创建一个模板 应用程序/视图/ user_mailer文件/ welcome_email.html.erb 您的电子邮件内容将在此模板中