你好,
我有ActionMailer的问题,当我尝试执行操作:
rake send_email
rake aborted! ActionView::MissingTemplate: Missing template user_mailer/mailer with "mailer". Searched in: * "user_mailer"
这是我的
邮寄/ user_mailer.rb
class UserMailer < ActionMailer::Base default from: "from@example.com" def mailer(user) @user = user mail(to: @user.email,subject: 'Test') end end
视图/ user_mailer文件/ mailer.html.erb
<!DOCTYPE html> <html> <head> <Meta content='text/html; charset=UTF-8' http-equiv='Content-Type' /> </head> <body> <p> Sample mail. </p> </body> </html>
视图/ user_mailer文件/ mailer.text.erb
Sample mail.
LIB /任务/ emails_task.rake
desc 'send email' task send_email: :environment do UserMailer.mailer(User.last).deliver! end
配置/环境/ development.rb
# I recommend using this line to show error config.action_mailer.raise_delivery_errors = true # ActionMailer Config config.action_mailer.delivery_method = :letter_opener # config.action_mailer.default_url_options = { :host => 'localhost:3000' } # config.action_mailer.delivery_method = :smtp # SMTP settings for gmail config.action_mailer.smtp_settings = { :address => "smtp.gmail.com",:port => 587,:user_name => ENV['gmail_username'],:password => ENV['gmail_password'],:authentication => "plain",:enable_starttls_auto => true } # Send email in development mode? config.action_mailer.perform_deliveries = true
我在stackoverflow上搜索了解决方案,我尝试了许多类似问题的答案,但不幸的是他们没有为我工作.
def mailer(user) @user = user mail(to: @user.email,subject: 'Test',body: 'something') end
解决方法
尝试添加布局
class UserMailer < ActionMailer::Base default from: "from@example.com" layout "mailer" def mailer(user) @user = user mail(to: @user.email,subject: 'Test') end end
原文地址:https://www.jb51.cc/ruby/271571.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。