我已经将delayed_job gem添加到我的gem文件中并正确安装,但当我尝试运行以下代码行时:
Delayed::Job.enqueue do_it(), 0, 1.minutes.from_now.getutc
我收到错误'uninitialized constant Delayed::Job‘
有人能解释一下我需要在这里做什么吗?我之前尝试过运行'rake Job:work‘,但它也返回了'uninitialized constant Delayed::Job’错误。此外,我在文件(application.rb)中添加了"require 'delayed_job'“。
发布于 2011-07-11 13:31:10
您是否按照自述文件中的安装说明进行操作?https://github.com/collectiveidea/delayed_job
将此代码添加到您的gemfile中:
gem 'delayed_job_active_record'
然后在控制台上运行以下命令:
$ rails generate delayed_job:active_record
$ rake db:migrate
您需要在数据库中创建延迟的作业表(假设您使用的是活动记录)。
对于Rails3,您需要做的就是将其包含在gemfile中,运行上面的代码来创建表并迁移数据库,然后重新启动服务器并开始!
发布于 2012-01-15 08:31:14
如果您已经升级到delayed_job版本>=3,则需要添加以下内容(假设您使用的是ActiveRecord):
# Gemfile
gem 'delayed_job_active_record'
发布于 2013-07-03 15:56:40
我在引擎中使用了延迟作业(因此gem是在.gemspec中指定的,而不是在gem文件中指定的),并且得到相同的错误。我发现我可以通过使用以下命令来解决问题:
require 'delayed_job_active_record' # fixes problem
而不是
require 'delayed_job' # doesn't
https://stackoverflow.com/questions/6641621
复制相似问题