控制器中未初始化的常量 - 常量是我的lib目录中的一个类

时间:2014-10-24 19:06:05

标签: ruby-on-rails delayed-job

我正在尝试使用delayed :: job gem来延迟发送消息,当我尝试运行代码时出现错误:

未初始化的常量RemindersController :: RemindLater

我控制器中的代码是:

require 'delayed_job_active_record'
require 'delayed_job'

class RemindersController < ApplicationController

  def index
  end

  def new
    @reminder = Reminder.new
  end

  def create
    @reminder = Reminder.create(reminder_params)
    @reminder.user = current_user
    @reminder.save
    Delayed::Job.enque(RemindLater.new(@reminder.id), 0, @reminder.time) 
    redirect_to reminders_path
  end



  private
  def reminder_params
    params.fetch(:reminder, {}).permit(:text, :phone_number, :time, :picture, :favorite)
  end

end

在我的/lib/remind_later.rb中我有

class RemindLater < Struct.new(:reminder_id)

    def perform
        Reminder.send_text_message(reminder_id)
    end

end

有谁知道我收到此错误的原因?谢谢。

1 个答案:

答案 0 :(得分:1)

确保您已在 config / application.rb 中的autoload_paths添加了lib目录:

config.autoload_paths << Rails.root.join('lib')