【发布时间】:2020-03-31 15:32:42
【问题描述】:
我使用app/services 来组织服务类的集合。例如,我对 app/services/metrics/transaction.rb 中列出的 NewRelic 事务有一个轻量级包装器。
出于某种原因,Rails 自动加载很难做到这一点。我会收到不断的加载错误,例如:
LoadError (Unable to autoload constant Metrics::Transaction, expected /Users/home/company/repo-name/app/services/metrics/transaction.rb to define it)
当然,文件(和它的 3 个同级文件)是在列出的位置定义的。在急切加载常量的生产环境中,这不是问题。
路径在app 下,并且我检查了自动加载路径,因此应该加载文件,但是每当第一次命中常量时我都会遇到这个问题。
【问题讨论】:
标签: ruby-on-rails activesupport ruby-on-rails-6