Ruby on rails 从控制台运行rake任务产生';ArgumentError:未给出方法名称';错误

Ruby on rails 从控制台运行rake任务产生';ArgumentError:未给出方法名称';错误,ruby-on-rails,console,rake,actionmailer,rails-console,Ruby On Rails,Console,Rake,Actionmailer,Rails Console,我有一个rake任务,它意味着给邮件发送者打电话,给满足给定条件的特定用户发送电子邮件。但是,当我使用rake nagging\u email:send从控制台调用rake任务时 我得到了以下“ArgumentError:没有给出方法名”,并且任务没有运行。可在此处查看完整的控制台错误日志: 我有一个邮件设置如下: class WorkoutMailer < ActionMailer::Base def nagging_email(user) @user = user

我有一个rake任务,它意味着给邮件发送者打电话,给满足给定条件的特定用户发送电子邮件。但是,当我使用
rake nagging\u email:send从控制台调用rake任务时
我得到了以下“ArgumentError:没有给出方法名”,并且任务没有运行。可在此处查看完整的控制台错误日志:

我有一个邮件设置如下:

class WorkoutMailer < ActionMailer::Base
    def nagging_email(user)
      @user = user
      subject = "What have you done today?"
      @url = 'http://frozen-taiga-7141.herokuapp.com/members/sign_in'

      mail to: @user.email,
        subject: subject.to_s
    end
end

如果您能帮助我们了解如何运行这个rake任务,我们将不胜感激。谢谢。

您应该从终端而不是rails控制台运行rake。 如果出于某种原因希望从rails控制台执行此操作,则应加载类似的任务

require 'rake'
MyRailsApp::Application.load_tasks 
Rake::Task['my_task'].invoke

您应该从终端而不是rails控制台运行rake。 如果出于某种原因希望从rails控制台执行此操作,则应加载类似的任务

require 'rake'
MyRailsApp::Application.load_tasks 
Rake::Task['my_task'].invoke

一种方法是将daily_nag定义为rake任务,然后在send任务中调用它。一种方法是将daily_nag定义为rake任务,然后在send任务中调用它。