在sidekiq文档中,有一些this quote关于在与自动加载错误相关的Rails项目中更喜欢使用/apps/libs
而不是/libs
:
lib /目录只会引起痛苦。将代码移动到app / lib /并确保内部代码遵循类/文件名约定。
此外还有:
不要在autoload_paths或eager_load_paths中配置额外路径。这是一个黑客;按照惯例! app /下面的任何目录都可能包含Ruby代码,您无需显式配置任何内容。
我的问题是:
这些陈述是否有任何道理,使用/apps/libs
比/libs
更好?
这仅对自动加载Rails相关对象(例如AR模型,控制器,作业等)有用吗?或者它还会帮助PORO吗?
是否只有这些评论有意义的特定背景?
根据我的经验,使用apps/libs
更容易。你可以直接坚持像Class MathFunction
这样的东西,并在其他地方(例如控制器或模块)使用MathFunction.sqrRoot
。
要在/libs
目录中引入一个库,需要使用autoload_paths
进行配置,这对我来说非常烦人。 Matz本人建议不要使用autoload
,因为它是在being deprecated的过程中。
简而言之,是的,这是真的。我需要使用libs
目录的唯一一次是制作自定义rake任务。否则我坚持apps/libs
。