在sidekiq文档中,有this quote关于在与自动加载错误相关的Rails项目中倾向于使用/apps/libs
而不是/libs
:
lib /目录只会引起痛苦。将代码移至app / lib /,并确保其中的代码遵循类/文件名约定。
此外,还有:
请勿在autoload_paths或eager_load_paths中配置额外的路径。那是骇客;遵守约定! app /下的任何目录都可以包含Ruby代码,您无需显式配置任何内容。
我的问题是:
这些陈述是否有事实证明使用/apps/libs
比/libs
更好?
这仅对自动加载与Rails相关的对象(例如AR模型,控制器,作业等)有用吗?还是对PORO有所帮助?
这些评论是否仅在特定上下文中有意义?
答案 0 :(得分:1)
根据我的经验,使用apps/libs
要容易得多。您可以像使用Class MathFunction
一样使用MathFunction.sqrRoot
,并在其他地方(例如控制器或模块)使用它。
要在/libs
目录中引入库,需要使用autoload_paths
进行配置,这使我很烦恼。 Matz本人建议不要使用autoload
,因为它正在being deprecated的过程中。
简而言之,是的。我唯一需要使用libs
目录的目的是进行自定义rake任务。否则,我会坚持使用apps/libs
。