在rails 3中构建Gem或插件或引擎

时间:2013-08-02 13:18:06

标签: ruby-on-rails-3 ruby-on-rails-3.1 rubygems gem

我想创建自己的Gem,所以我用Google搜索“如何构建rails 3 gem”,我在前2名中得到了以下结果

guides.rubyonrails.org/plugins.html‎& edgeguides.rubyonrails.org/engines.html‎

它是插件&发动机。我做了更多的搜索,然后才知道

  

Rails 3.x正在远离插件和一切宝石 - 包括Rails的所有组件。

所以我决定看看Engine是什么,然后进行了一些搜索并找到了

  

Enginex包含在rails 3.1中。新应用程序不再需要将它用作宝石了!

这让我更加困惑。我想知道我是否应该忽略插件,引擎并专注于Gem开发。请指教。

1 个答案:

答案 0 :(得分:2)

  

Enginex包含在rails 3.1中。新应用程序不再需要将它用作宝石了!

这只是告诉你,在rails 3.1之前,你必须包含enginex gem来创建rails引擎。对于rails 3.1及更高版本,这不再适用。

您的所有问题都已得到解答here

基本上,Engines与Rails应用程序非常相似。事实上,Rails应用程序在某种程度上是一个引擎。引擎可以“挂载”到其他Rails应用程序中(例如Devise)。引擎包括完整的MVC架构供您玩。而宝石并不意味着包括控制器,视图和路线。 Gems旨在为Ruby添加新功能。