在 sidekiq 文档中,有 this quote 关于在与自动加载错误相关的 Rails 项目中更喜欢使用
/app/lib
而不是 /lib
:
lib/ 目录只会带来痛苦。将代码移动到 app/lib/ 并确保里面的代码遵循类/文件名约定。
此外,还有:
不要在autoload_paths或eager_load_paths中配置额外的路径。这是一个黑客行为;遵守约定! app/ 下的任何目录都可能包含 Ruby 代码,您不需要显式配置任何内容。
我的问题是:
这些使用
/app/lib
比 /lib
更好的说法是否属实?
这仅对自动加载 Rails 相关对象(例如 AR 模型、控制器、作业等)有帮助吗?或者它也会帮助 PORO 吗?
这些评论是否只有特定的上下文才有意义?
如今实现这一目标的最佳实践是将代码移至
。只有您要重新加载的 Ruby 代码、任务或其他辅助文件在app/lib
中才可以。lib
目录只会带来痛苦。将代码移动到lib/
并确保里面的代码遵循类/文件名约定。app/lib/
使用此约定的 Rails 项目示例 - Mastodon