【问题标题】:Custom directory that is under `app` is missing in production `autoload_paths`生产“autoload_paths”中缺少“app”下的自定义目录
【发布时间】:2019-07-08 16:42:40
【问题描述】:

我已经为我的应用程序设置了sidekiq。我将我的工人放在一个新创建的子目录app/workers/ 中。据推测,rails 会自动加载app/ 下的任何子目录。如果我评估

puts ActiveSupport::Dependencies.autoload_paths

在 Rails 控制台中,在开发中,它确实包含

".../app/workers"

然而,在生产中,新目录丢失了。我放在app/ 下的其他自定义文件夹,即services/validators/,确实出现在生产和开发的autoload_paths 中。

我已经看到建议重新启动 spring 的其他问题的答案,但是,这对我来说正在生产中发生。

services/validators/ 在我第一次将我的应用程序部署到生产环境(使用 Capistrano)时存在,而 workers/ 来自后续提交。

【问题讨论】:

  • 请显示initiallizers/sidekiq.rb 文件和environment/production.rb vs environment/development.rb

标签: ruby-on-rails ruby-on-rails-5


【解决方案1】:

我的独角兽部署脚本在linked_dirs 中包含bin/。 Rails 控制台从bin 启动,因此它需要代表当前版本。我从shared_dirs 中删除了bin/

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 2018-12-23
    • 2019-03-13
    • 2022-10-07
    • 2015-07-27
    • 1970-01-01
    • 2021-12-16
    • 2018-06-09
    • 2019-12-14
    相关资源
    最近更新 更多