手动需要宝石

时间:2017-12-01 09:41:54

标签: ruby-on-rails ruby rubygems

我创造了一个宝石。你可以在这里看到完整的源代码: https://github.com/agilie/instagram_api_gem(无论如何,不​​是广告)

但是,当我在Rails项目中使用它时

# Gemfile
gem 'instagram_api_client'

它不起作用,直到手动要求它在初始化器中的某个地方,如

require 'instagram_api'

为什么会发生这种情况?我希望它能够在没有任何手动要求的情况下工作,就像其他导轨宝石一样。

1 个答案:

答案 0 :(得分:3)

它不符合Rails自动加载规则。使用内容

创建文件instagram_api_client.rb
require 'instagram_api'

位于lib文件夹的顶层。这应该可以解决问题。

对于宝石,要自动加载的文件的名称应该与gem的名称完全相同。

或者,正如@TomLord所建议的那样,可以简单地指定

gem 'instagram_api_client', require: 'instagram_api'

Gemfile本身。