从Rails调用外部rake任务:依赖性问题

时间:2012-04-23 14:05:11

标签: ruby-on-rails ruby dependencies rake bundler

我目前正在开发一个独立的ruby应用程序以及作为其前端的Rails应用程序。我正在使用Bundler来管理Ruby应用程序的依赖关系,因此有两个gemfiles。

尝试通过系统调用rake任务从Rails前端执行Ruby应用程序时遇到问题。

当我从标准IRB调用rake任务时,它可以工作;但如果我尝试从Rails控制器或rails控制台调用该任务,则会出现依赖性问题。

作为一种解决方法,我可以将Rails应用程序中不存在的所有gem添加到Rails Gemfile中,但我想这种方法是错误的。

我认为这可能是Bundler范围的问题。我怎么能解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:2)

fork do
  Dir.chdir("/your/project/dir")
  ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', __FILE__)
  Bundler.setup
  exec "rake -T"
end