繁体   English   中英

NameError:未初始化的常量自定义作业文件Rails 6

[英]NameError: uninitialized constant custom job file Rails 6

我有一个文件app/jobs/foo_bar_job.rb包含以下内容:

class FooBarJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Do stuff
  end
end

我运行rails c打开 rails 控制台,当我输入FooBarJob时得到以下信息

NameError:未初始化的常量 FooBarJob

我的应用程序不知道常量。 我不确定我错过了什么。 我还尝试将以下内容放入config/application.rb但它也没有修复它:

require_relative 'boot'
require 'rails/all'

Bundler.require(*Rails.groups)

module MyApp
  class Application < Rails::Application
    config.load_defaults 6.0
    # I added this line to attempt to load all files within /app/jobs
    config.autoload_paths += Dir[Rails.root.join('app', 'jobs', '{**}')]
  end
end

事实证明,这是一个非常特定于环境的问题。 我会发布我的修复程序,但这仍然是一个谜。

我正在使用 vagrant 在我的主机上运行 linux VM,在我的主机上我使用的是 rubymine。

rails 应用程序位于主机和 vagrant vm 之间的共享目录中。

无论出于何种原因:运行rails c没有发现该作业文件的存在。 一旦我重新启动了虚拟机:它按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM