带有Rails 3引擎的GEM依赖项在初始化程序中失败[英] Gem dependencies with Rails 3 engine fail in initializer

本文是小编为大家收集整理的关于带有Rails 3引擎的GEM依赖项在初始化程序中失败的处理方法,想解了带有Rails 3引擎的GEM依赖项在初始化程序中失败的问题怎么解决?带有Rails 3引擎的GEM依赖项在初始化程序中失败问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

tldr;当我在使用引擎的测试应用程序中运行rake任务时,发动机依赖项似乎似乎没有受到尊重.我必须通过指定测试应用程序的Gemfile

的依赖性来(-d)Ry

我已经使用珠宝商创建了一个rails引擎作为宝石.它具有我在Rakefile中指定的设计依赖性:

gem.add_runtime_dependency 'devise', '~> 1.1.3'

在我的测试应用程序中,我将引擎依赖添加到Gemfile,bundle install显示设计已拾取并安装.但是,如果我运行初始rake db:migrate,则抛出错误:

uninitialized constant Devise
<snip>config/initializers/devise.rb:3

如果我手动将devise依赖添加到测试应用程序的gemfile它的工作原理.我可能错过了一些明显的东西,但在这个阶段它看起来它看起来可以正确拾取并安装依赖性,但由于某种原因,初始化器代码失败,除非在测试应用程序的Gemfile中再次列出依赖项,否则初始化器代码失败.

推荐答案

你可能已经找到了一个解决方案或解决方法,但我会把我解决这个问题,以防有人有同样的问题.

刚刚放置:

require 'devise'

在lib/my_gem.rb中.

Rails在Gemfile中规定的宝石antops,没有别的.如果您正在开发具有依赖性的GEM,则必须手动要求它们.

本文地址:https://www.itbaoku.cn/post/786636.html