2012-09-19 94 views
0

我正在开发一个Rails应用程序,该应用程序使用我正在开发的gem。在开发rails应用程序时开发gem的环境

我在宝石中所做的每一项变化,我都必须:构建,卸载先前安装的gem,安装构建的gem,重新启动rails应用程序。

你可以想象,它很容易成为一个噩梦,甚至在宝石更改litle。

我试过手动加载配置为由gem(Gemspec)加载的所有文件,但在加载过程中似乎总是出现问题,没有找到库或没有按照正确的顺序加载。

有没有办法让我的环境更好地发展我的应用程序与我的宝石?

回答

3

你可以只添加的文件引用到本地文件系统中您的Gemfile,像

gem 'new_gem', :path => '~/RubyPlayground/DevGems/new_gem/' 

这样,你只需要修改你的新宝石后,一个新的bundle install

更新

重读你的描述你可能不使用Rails 32.我的建议当然是基于至少打捆进行。

+0

+1它工作正常。有没有办法让我没有必要重新启动rails应用程序,每当我改变宝石中的东西? –

+0

你告诉我......我想应该可以通过在环境中切换东西,但由于我的应用程序通常很小,我从来没有打扰过检查这个:-) – Atastor

1

您可以将您的gem代码始终符号链接到lib /,然后将其包含在自动重载路径(application.rb IIRC)中。

+0

这里有一些关于这个想法的更多细节:http:/ /stackoverflow.com/questions/6191635/how-to-reload-a-gem-on-every-request-in-development-mode – coderuby