你能告诉我在Rails中加载的Gem中如何初始化常量吗?

时间:2011-11-01 00:37:19

标签: ruby-on-rails ruby initialization gem

我想知道初始化过程如何与Gems一起工作。基本上,当我尝试调用一个常量时,我​​遇到了一个问题,它存在于我的Rails应用程序中,来自我已经包含在我的rails项目中的Gem。

常数是Air :: Fly

Rails中的常量加载很好,但Gem无法加载此常量。我的目标是从Gem的上下文中扩展Rails Application类,以使我的代码更加模块化。

如何从Gem加载rails应用程序类?

1 个答案:

答案 0 :(得分:2)

Bundler通过检查gemspec文件的运行时依赖性来解析gem的依赖关系。如果宝石X的gemspec具有add_runtime_dependency "Y",则宝石Y将在宝石X之前加载。

因此,假设Air是宝石,在您的情况下,您需要添加到您的gemspec:

s.add_runtime_dependency "air"

这将确保它可以在您自己的宝石中使用;)