我们对常见的宝石(如太阳黑子)有一些特定于业务的扩展。这些扩展需要在启动时运行,因为它们所属的文件已经定义了。即rails不会尝试自动加载它们,因为它们的常量已经定义。为了解决这个加载问题,我们在config / initializers / extensions中有这些文件。
首先,这是理想的吗?
其次(更重要的是),我们如何/应该打包这些扩展/覆盖,以便我们可以在我们拥有的其他项目中重用它们?截至目前,我们已被削减&在项目中复制文件......哎呀。
谢谢你的帮助
答案 0 :(得分:0)
我将扩展名放在gem中。然后提供一个小的api调用,你可以放入一个初始化程序来加载gem的功能,如果有必要的话。我不知道你能够摆脱初始化程序的使用,但是通过将功能的内容放在gem中,你至少可以轻松地在项目中共享它。