我已关注 getting started with active job EngineYard 的文章。文章指出:
You'll need Rails 4.2.0beta1 or greater if you want to Active Job available by default (in older versions of Rails, you can require it as a gem)
我正在尝试在我的 Rails 4.1 项目中使用 ActiveJob。我将 ActiveJob 添加到我的 gemfile
gem 'activejob'
.根据文章,我有:#config/initializers/active_job.rb
ActiveJob::Base.queue_adapter = :resque
但是,当我运行
rails server
时我收到以下错误:config/initializers/active_job.rb:1:in
': 未初始化的常量 ActiveJob (NameError)`编辑 - 修正了“ gem 活跃工作”的错字
更新 1
按照下面 solydest 的建议,添加
require 'active_job'
到 application.rb 允许我不再获得 uninitialized constant ActiveJob
错误,但我收到错误 undefined method perform_later'
当我尝试调用我的工作时。我正在关注 edge rails guide并使用类似于以下内容的代码排队我的工作:MyJob.perform_later(record)
我的工作类的开始:
class MyJob < ActiveJob::Base
queue_as :images
def perform(id)
最佳答案
我加了 require 'active_job'
到 config/application.rb 就在所有其他 require 指令的下方,这为我解决了这个问题。
关于ruby-on-rails - 带有 ActiveJob gem 的 Rails 4.1 - 未初始化的常量 ActiveJob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579789/