【发布时间】:2018-09-11 20:53:04
【问题描述】:
在 sidekiq 文档中,this quote 提到在与自动加载错误相关的 Rails 项目中更喜欢使用 /app/lib 而不是 /lib:
lib/ 目录只会带来痛苦。将代码移动到 app/lib/ 并确保里面的代码遵循类/文件名约定。
此外,还有:
不要在 autoload_paths 或 eager_load_paths 中配置额外的路径。这是一个黑客;遵守约定! app/ 下的任何目录都可能包含 Ruby 代码,您无需显式配置任何内容。
我的问题是:
使用/app/lib 比使用/lib 更好的这些陈述是否有道理?
这仅对自动加载 Rails 相关对象(例如 AR 模型、控制器、作业等)有帮助吗?还是对 PORO 有帮助?
这些 cmets 是否只有特定的上下文才有意义?
【问题讨论】:
-
我认为不使用自动加载是将外部类放入
lib文件夹的原因之一。我不会尝试使用lib文件夹进行自动加载。我总是使用显式的require从lib文件夹中加载功能。
标签: ruby-on-rails ruby sidekiq