【发布时间】:2018-06-02 03:09:18
【问题描述】:
我有那个 Mailer 方法和一个 Rake 任务,以便稍后使用 Cron Job 安排并使用 Gem 自动执行,以便向用户发送电子邮件:
# Mailer:
class MailCourseWarnMailer < ActionMailer::Base
def course_available(user)
@user = user
mail(to: @user.email, subject: "Curso disponível") # ... email sending logic goes here
end
end
# Task
require 'rake'
desc 'send digest email'
task :send_warn_course, [:user_email] => :environment do |t, args|
user = MailCourseWarn.find_by_email args[:user_email]
MailCourseWarnMailer.course_available(user).deliver!
end
# Model
class MailCourseWarn < ActiveRecord::Base
belongs_to :course
validates :name, :email, presence: true
end
我目前正在运行这样的任务:rake send_warn_course['user@email.com'] 但我需要这是自动的,在运行 rake send_warn_course 时,Rake 任务会发送给我数据库中的所有用户。
任何想法我该怎么做?谢谢。
【问题讨论】:
标签: ruby-on-rails actionmailer rake-task