我试图了解Rails 3插件的初始化过程。我有一个打包作为gem的插件,我将其包含在我的项目的Gemfile中。
反过来,该gem在其gemspec中指定它依赖于Sunspot :: Rails。宝石本身被拉入并且我可以访问它的类,但似乎铁路初始化代码没有运行。
但是,如果我直接在项目的Gemfile中为sunspot_rails添加一行,那么就会运行初始化代码。
有没有人知道如何让我的gem /插件在其依赖项中运行初始化代码,而不必直接在我的项目中包含所有这些代码?
提前致谢。
答案 0 :(得分:1)
在阅读the above article and responses后,我意识到我需要sunspot/rails
而不是sunspot_rails
。需要sunspot_rails
是必要的,因为这反过来又要求铁路(在gemspec中列出宝石时不会自动要求)。
Here is a link to a very good article关于gemspec和Gemfile之间的区别,这有助于解释这一切。