【发布时间】:2018-06-02 01:39:25
【问题描述】:
我为 Mailer 创建了一个 Rake 任务,以便稍后使用 Crontab 安排并使用 Gem 自动执行,以便向用户发送电子邮件。暂时只是一个测试,以了解任务是否有效。
我的 Rake Task 和 Mailer 如下。
require 'rake'
desc 'send digest email'
task send_warn_course: :environment do
MailCourseWarnMailer.course_available(user).deliver!
end
# And my Mailer is:
class MailCourseWarnMailer < ActionMailer::Base
def course_available(user)
@user = user
mail(to: @user.email, subject: "Curso disponível")
end
end
我将参数传递给任务,但这不起作用。当我运行rake send_warn_course 时出现错误:
rake send_warn_course
rake aborted!
NameError: undefined local variable or method `user' for main:Object
有人知道发生了什么吗?我在这里错过了什么?
【问题讨论】:
标签: ruby-on-rails ruby rake-task