【问题标题】:uninitialized constant while calling worker method in sidekiq在sidekiq中调用worker方法时未初始化的常量
【发布时间】:2012-10-02 06:18:25
【问题描述】:

我在 rails 3 中使用 sidekiq gem,并且我在 app/workers 文件夹中定义了一个 foo_workers.rb,当我尝试在名为 articles 的 rails 控制器中调用 FooWorker.perform_async(@article) 时出现此错误,

uninitialized constant ArticlesController::FooWorker

谁能帮帮我。

【问题讨论】:

    标签: ruby-on-rails sidekiq


    【解决方案1】:

    检查您的复数形式。该文件名为foo_workers.rb,这意味着您可能正在定义FooWorkers,而不是FooWorker。应该是单数。但这都是猜测,因为您实际上并没有发布任何代码。

    【讨论】:

      【解决方案2】:

      自动加载机制不会复数您的类名。因此,FooWorker 类预计会在某些自动加载路径中的foo_worker.rb 文件中定义。

      如果文件名不同(如foo_workers.rb),Rails 不会尝试从中加载类。

      【讨论】:

        猜你喜欢
        • 2012-11-05
        • 1970-01-01
        • 2017-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        相关资源
        最近更新 更多