我想知道初始化过程如何与Gems一起工作。基本上,当我尝试调用一个常量时,我遇到了一个问题,它存在于我的Rails应用程序中,来自我已经包含在我的rails项目中的Gem。
常数是Air :: Fly
Rails中的常量加载很好,但Gem无法加载此常量。我的目标是从Gem的上下文中扩展Rails Application类,以使我的代码更加模块化。
如何从Gem加载rails应用程序类?
答案 0 :(得分:2)
Bundler通过检查gemspec文件的运行时依赖性来解析gem的依赖关系。如果宝石X的gemspec具有add_runtime_dependency "Y"
,则宝石Y将在宝石X之前加载。
因此,假设Air是宝石,在您的情况下,您需要添加到您的gemspec:
s.add_runtime_dependency "air"
这将确保它可以在您自己的宝石中使用;)