【问题标题】:How to convert a rails app to a gem?如何将 Rails 应用程序转换为 gem?
【发布时间】:2012-07-15 15:22:40
【问题描述】:

我有一个 ruby​​ on rails 应用程序需要进行 gem 化。珠宝商,帮助创造基本的红宝石。但是,如何将 Rails 应用程序打包为 gem?我有一个主应用程序,需要我的 rails 应用程序作为 gem。我无法集成它们,因为主要的 rails 应用程序将用作管理应用程序来控制较小的应用程序,在其中作为 gem/engines 运行。

【问题讨论】:

  • 您能描述一下为什么要将完整的应用程序打包为 gem 吗? gems 通常不是可以添加到应用程序中的插件或库吗?
  • 还要看看 rails 3 上的可安装引擎.....

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


【解决方案1】:

从 Rails 3.0 开始,任何 Rails 应用程序都是引擎。要将您的应用程序包装到 gem 中,您应该:

  1. 使用捆绑器或珠宝商或其他工具创建新宝石。
  2. 将应用程序代码插入到 gem 的 lib/ 目录中。
  3. 您应用的所有类都应该在 MyGem 模块中,因此请在您的类名前添加 MyGem,例如:Article => MyGem::Article。您的所有控制器、模型等都应使用模块 GemName 命名。
  4. 您的文件 lib/my_gem.rb 应该包含下一个代码:

    module MyGem
      class Engine < Rails::Engine; end
    end
    

UPD

或者如果你使用可挂载引擎会更好:

$ rails plugin new MyGem

它使用虚拟应用程序生成可挂载引擎,用于测试和 gemspec。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
相关资源
最近更新 更多