gpt4 book ai didi

ruby-on-rails-3 - Rails 3 引擎的 Gem 依赖项在初始化程序中失败

转载 作者:行者123 更新时间:2023-12-05 00:05:42 25 4
gpt4 key购买 nike

tldr;当我在使用 Engine 的测试应用程序中运行 rake 任务时,似乎没有遵守 Engine 依赖项。我必须通过在测试应用程序的 Gemfile 中指定依赖项来 (-D)RY

我使用 Jeweler 创建了一个 Rails 引擎作为 gem。它依赖于我在 Rakefile 中指定的 Devise:

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 中再次列出。

最佳答案

您可能已经找到了解决方案或变通方法,但如果有人遇到同样的问题,我会说明我是如何解决这个问题的。

就放:

require 'devise'

在 lib/my_gem.rb 中。

Rails 会自动加载 Gemfile 中指定的 gems,而不是其他任何东西。如果您正在开发具有依赖项的 gem,则必须手动要求它们。

关于ruby-on-rails-3 - Rails 3 引擎的 Gem 依赖项在初始化程序中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com