3.0" 添加到我-6ren">
gpt4 book ai didi

ruby-on-rails - Bundler.require 不适用于我的 gem 中的 ActiveRecord

转载 作者:数据小太阳 更新时间:2023-10-29 07:42:15 25 4
gpt4 key购买 nike

我刚刚创建了一个新的 gem(使用 bundler )并想添加 Active Record 支持。所以我将 s.add_dependency "activerecord", "~> 3.0" 添加到我的 gemspec 中。然后我使用 Bundler.setup 和 Bundler.require 并认为我现在可以访问 Active Record,但我没有。我必须明确使用 require "active_record"。知道为什么 Bundler.require 在那种情况下对我不起作用吗?

最佳答案

首先,如果您要打包 gem ,do not use Bundler.require . Bundler.require 适用于应用而非 gem。

  • .gemspec 中,指定您部署的 gem 的依赖项。

  • 在您的 Gemfile 中,包含 gemspec 行以自动将 .gemspec 中列出的依赖项包含在您的 中 gem 文件

    您还可以选择为开发和测试创建 gem 组。

  • 在您的代码中,明确要求您需要的任何库。

我今天在这上面浪费了几个小时,希望这对您有所帮助。

(来源 1 , 2 )

其次,虽然 ActiveRecord gem 被称为“activerecord”,但 lib 被称为“active_record”。这就是您在 Gemfile 中需要的内容。

gem 'activerecord', :require => "active_record"

除非你包含 :require 选项,否则 ActiveRecord 将不会被正确加载,并且在你尝试使用它之前你不会知道它。

关于ruby-on-rails - Bundler.require 不适用于我的 gem 中的 ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016929/

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