为什么在Rails中使用/ apps / libs而不是/ libs?

问题描述 投票:3回答:1

在sidekiq文档中,有一些this quote关于在与自动加载错误相关的Rails项目中更喜欢使用/apps/libs而不是/libs

lib /目录只会引起痛苦。将代码移动到app / lib /并确保内部代码遵循类/文件名约定。

此外还有:

不要在autoload_paths或eager_load_paths中配置额外路径。这是一个黑客;按照惯例! app /下面的任何目录都可能包含Ruby代码,您无需显式配置任何内容。

我的问题是:

这些陈述是否有任何道理,使用/apps/libs/libs更好?

这仅对自动加载Rails相关对象(例如AR模​​型,控制器,作业等)有用吗?或者它还会帮助PORO吗?

是否只有这些评论有意义的特定背景?

ruby-on-rails ruby sidekiq
1个回答
1
投票

根据我的经验,使用apps/libs更容易。你可以直接坚持像Class MathFunction这样的东西,并在其他地方(例如控制器或模块)使用MathFunction.sqrRoot

要在/libs目录中引入一个库,需要使用autoload_paths进行配置,这对我来说非常烦人。 Matz本人建议不要使用autoload,因为它是在being deprecated的过程中。

简而言之,是的,这是真的。我需要使用libs目录的唯一一次是制作自定义rake任务。否则我坚持apps/libs

© www.soinside.com 2019 - 2024. All rights reserved.