如何将大型宝石转换为独立的rails应用程序

时间:2015-07-18 23:37:15

标签: ruby-on-rails ruby plugins gem rubygems

我正在建立一个社交网络,并且一直在使用gem community_engine但是在实现我的应用程序所需的大量自定义时遇到了麻烦。我认为这将使我更容易覆盖和添加方法,以及帮助我​​更好地理解和学习代码,因为我将能够实际看到所有这些代码。

到目前为止,在我的尝试中,我下载了源代码,添加了缺少的默认bin目录和配置文件,以及所有gem依赖项。

我还需要做些什么来让应用程序运行?我意识到可能还有很多问题可能并不容易解释,但至少是否有任何类型的文档可以帮助我理解如何将gem转换为Rails应用程序?

继承了community_engine回购:https://github.com/bborn/communityengine

因为这个想法可能会引起一些批评,所以我补充说我最初构建的应用程序没有任何巨大的插件接受设计但是我没有时间来完成这个。

我尝试过的更多内容:

将文件移动到一个新的rails应用程序,让服务器运行但遇到了许多看似随机的错误,修复了一些,但似乎更多似乎弹出我无法弄清楚:

我也看了http://guides.rubyonrails.org/plugins.html,但这个宝石似乎超出了这个范围。

2 个答案:

答案 0 :(得分:2)

我建议您克隆gem并开始将gem中的文件复制到新的Rails应用程序中。

引擎gem可能具有与Rails应用程序类似的结构,因此您应该能够将文件从相应的文件夹移动到Rails根文件夹中的同一文件夹。

您可能需要将gem文件移出模块,更改名称空间等。查看您要包含的文件的相关文件夹可能包括app / config / db /,Gemfile中的任何gem依赖项或gemspec文件,如以及spec /或test /。

除此之外,我认为对你的问题没有灵丹妙药的答案,你只需要解决问题,直到你完成并运行,如果遇到障碍你可能会提出后续问题。超越。

答案 1 :(得分:1)

我认为您正在寻找的是一种将Rails引擎挂钩到rails应用程序的方法。 Hooking Into an Application指南的Getting Started with Rails Engines部分应该是您正在寻找的内容。

以下是Rails Engines上的两个额外资源。

A Guide to Rails Engines in the Wild

Rails::Engine - Ruby on Rails API