ruby-on-rails - 带有 ActiveJob gem 的 Rails 4.1 - 未初始化的常量 ActiveJob

标签 ruby-on-rails rails-activejob

我已关注 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/

相关文章:

ruby-on-rails - 将整数转换为二进制字符串,用前导零填充

ruby-on-rails - Rails 错误地将被调用的命名空间嵌套到调用者命名空间中

ruby-on-rails - rails - ActiveSupport::SecureRandom.hex - 获取 SET 字符数

mysql - 如何避免记录付款和运行余额的 Rails 模型中的竞争条件?

ruby-on-rails - 发条来排队 ActiveJob 后台作业

ruby-on-rails - rails,将未定义的属性添加到 form_tag

ruby-on-rails - Linux 主机上的 Ruby on Rails

ruby-on-rails - 如何使用 Rspec 检查 ActiveJob 中排队的内容

ruby-on-rails - 使用延迟作业在后台处理方法

ruby-on-rails - ActiveJob + Sidekiq 6.0.3 : How to write to a log file?