2009-01-13 87 views
6

通常我创建一个插件,当我有一个模块时,我知道我将在其他项目中再次需要,但是,它们也可以打包为宝石。建立一个插件或宝石?

什么时候应该创建一个创建插件的宝石?有没有任何准备打电话的标准?

回答

9

插件,现在正在变得过时,你可以通过在environment.rb中的“config.gem”语句管理的宝石。宝石可用于全系统(不只在一个应用程序中),并且与插件不同。

我最近转换我的所有plugins到宝石。 Easy to do,非常值得。

+0

“易·干”的链接改为http://mbleigh.com/2008/06/11/gemplugins-a-简要介绍到的,未来的护栏,plugins.html – cpm 2009-05-11 18:35:00

1

Rails似乎正朝着宝石方向发展。我已将大部分插件转换为宝石。宝石在Ruby生态系统中更易于管理和适应。为什么我们需要两个独立的系统呢?

仍然存在但与宝石的一个问题:这是不可能的耙任务添加到从创业板的Rails应用程序。虽然我不确定,但发电机可能也是如此。如果你在你的插件中使用这些,那么迁移到宝石是不可能的。希望这会很快得到解决。

1

您可以通过宝石添加发电机到导轨。这实际上很简单,你可以添加一个rails_generators目录到你的gem。 (我认为其他目录名称将工作 - 我不知道什么轨搜索)。例如:http://github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators

与添加rake任务...我还没有搞清楚HOWTO做到这一点:/

现在,我有我的生成增加require 'myproject/rails/tasks'(或东西)到项目的Rake文件作为一种将rake任务添加到来自gem的rails的方法。

很多宝石都要求你'引导'它们到你的rails项目中,例如。 sudo的创业板安装黄瓜 CD rails_app ./script/generate黄瓜#引导黄瓜放入您的应用程序