加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Bundler.require对我的gem中的ActiveRecord不

发布时间:2020-12-17 01:48:43 所属栏目:百科 来源:网络整理
导读:我刚刚创建了一个新的gem(使用bundler)并希望添加Active Record支持.所以我在我的gemspec中添加了s.add_dependency“activerecord”,“? 3.0”.然后我使用Bundler.setup和Bundler.require,并认为我现在可以访问Active Record,但我没有.我必须明确使用require
我刚刚创建了一个新的gem(使用bundler)并希望添加Active Record支持.所以我在我的gemspec中添加了s.add_dependency“activerecord”,“?> 3.0”.然后我使用Bundler.setup和Bundler.require,并认为我现在可以访问Active Record,但我没有.我必须明确使用require“active_record”.知道为什么Bundler.require在这种情况下对我不起作用吗?

解决方法

首先,如果你打包一个宝石,do not use Bundler.require.Bundler.require是针对应用而不是宝石.

>在.gemspec中,指定已部署gem的依赖关系.
>在Gemfile中,包含行gemspec以自动包含Gemfile中.gemspec中列出的依赖项.

您也可以选择为dev和test创建gem组.
>在您的代码中,明确要求您需要的任何库.

我今天在这里失去了几个小时,所以我希望这会有所帮助.

(来源1,2)

其次,虽然ActiveRecord gem被称为“activerecord”,但lib被称为“active_record”.这是你在Gemfile中需要的.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读