我遵循了EngineYard的getting started with active job文章。文章中指出:
如果你想使用默认情况下的Active Job(在较旧版本的Rails中,你可以将其作为gem进行引用),则需要Rails 4.2.0beta1或更高版本。
我正在尝试在我的Rails 4.1项目中使用ActiveJob。 我在Gemfile中添加了ActiveJob gem 'activejob'
。根据该文章,我已经:
#config/initializers/active_job.rb
ActiveJob::Base.queue_adapter = :resque
然而,当我运行
rails server
时,我会收到以下错误提示:
config/initializers/active_job.rb:1:in
': uninitialized constant ActiveJob (NameError)`
编辑 - 修复了拼写错误“gem active job”
更新1
根据solydest的建议,在application.rb中添加require 'active_job'
可以避免出现未初始化常量ActiveJob
的错误,但是,当我尝试调用我的作业时,我却收到了undefined method perform_later'
的错误。 我正在遵循Edge Rails指南,使用类似于如下代码的方式来将我的作业加入队列:
MyJob.perform_later(record)
我的工作类型开始:
class MyJob < ActiveJob::Base
queue_as :images
def perform(id)
gem 'activejob'
。 - Archonicbundle show activejob
的输出是什么? - Archonic