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