在rails上用ruby发送电子邮件

时间:2015-08-08 07:57:32

标签: ruby-on-rails ruby rake rake-task

我无法将一些ruby代码从我的模型移动到rake任务。我的“联系”模型中的代码如下:

  def send_notification_to_contact
    UserMailer.notification_contact.deliver_now
  end

在我的Mailer文件夹中,我有:

class UserMailer < ApplicationMailer
  def notification_contact
    contact = Contact.find(1)
    mail to: contact.email, subject: "subject of the email"
   end
 end

我试图在rake任务中移动这个简单的代码(有效)。在文件lib / task / scheduler.rake中我放了

desc "Notify"
task :notify => :environment do
  contact = Contact.find(1)
  contact.send_notification_to_contact
end

我通过修改我的模型来调用任务如下:

def send_notification_to_contact
  system "rake notify"
end

当我调用此方法或使用命令行

rake notify
没有任何反应。这不是一个与rake相关的问题,如

这样的简单行
 puts "test"
scheduler.rake文件中的

会触发服务器日志中的字符串“test”

有人能告诉我为什么它不起作用以及使任务有效的适当语法是什么?我想我并不完全理解rake如何工作以及它如何与我的Model / UserMailer类交互。感谢。

0 个答案:

没有答案