我正在尝试使用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
有谁知道我收到此错误的原因?谢谢。
答案 0 :(得分:1)
确保您已在 config / application.rb 中的autoload_paths
添加了lib目录:
config.autoload_paths << Rails.root.join('lib')