我创造了一个宝石。你可以在这里看到完整的源代码: https://github.com/agilie/instagram_api_gem(无论如何,不是广告)
但是,当我在Rails项目中使用它时
# Gemfile
gem 'instagram_api_client'
它不起作用,直到手动要求它在初始化器中的某个地方,如
require 'instagram_api'
为什么会发生这种情况?我希望它能够在没有任何手动要求的情况下工作,就像其他导轨宝石一样。
答案 0 :(得分:3)
它不符合Rails自动加载规则。使用内容
创建文件instagram_api_client.rb
require 'instagram_api'
位于lib
文件夹的顶层。这应该可以解决问题。
对于宝石,要自动加载的文件的名称应该与gem的名称完全相同。
或者,正如@TomLord所建议的那样,可以简单地指定
gem 'instagram_api_client', require: 'instagram_api'
在Gemfile
本身。