【发布时间】:2010-11-25 06:27:42
【问题描述】:
tldr;当我在使用引擎的测试应用程序中运行 rake 任务时,引擎依赖项似乎没有得到尊重。我必须通过在测试应用的 Gemfile 中指定依赖项来 (-D)RY
我使用 Jeweler 创建了一个 Rails 引擎作为宝石。它依赖于我在 Rakefile 中指定的设计:
gem.add_runtime_dependency 'devise', '~> 1.1.3'
在我的测试应用程序中,我将 Engine 依赖项添加到 Gemfile,bundle install 显示 Devise 已被拾取并安装。但是,如果我运行初始 rake db:migrate,则会引发错误:
uninitialized constant Devise
<snip>config/initializers/devise.rb:3
如果我手动将 Devise 依赖项添加到测试应用程序的 Gemfile 中,它就可以工作。我可能遗漏了一些明显的东西,但在这个阶段,测试应用程序似乎正确地拾取并安装了依赖项,但由于某种原因,初始化程序代码失败,除非在测试应用程序的 Gemfile 中再次列出了依赖项。
【问题讨论】:
标签: ruby-on-rails-3 gem bundler