如何在Rails 3中重新加载所有宝石?

Tre*_*ham 7 rubygems ruby-on-rails-3

有没有办法在没有完全重启服务器的情况下重新加载Rails应用程序中的所有宝石?我有一个Gemfile :path用于引用我在同一系统上开发的依赖项,并且rails -s每次保存更改时都必须杀死应用程序并再次执行,这很烦人.在生产中能够更新gem而不会在几秒钟内杀死服务器也很不错.思考?

m4r*_*isU 6

最近我发现我想和你说的一样,所以我可以和我的项目一起开发宝石.

在Gemfile中我没有包含gem依赖,但是我在config/environments/development.rb中添加了

ActiveSupport::Dependencies.autoload_paths << "/path_to_gem_dir/gem_name/lib"
Run Code Online (Sandbox Code Playgroud)

它需要我做一些额外的工作,使它同步,但在大多数情况下,它是好的.当我完成gem的工作时,我可以删除自动加载并在Gemfile中使用gem依赖.

请记住,gem依赖项可以放在:production,:test groups中,因此在开发过程中,您可以清除它.

例如

group :development do
  # gem "wirble" COMMENTED!, so I can autoload files!
end

group :production do
  gem "wirble"
end
Run Code Online (Sandbox Code Playgroud)

快乐的编码!