Ruby on rails Rails控制器中无法识别对象

Ruby on rails Rails控制器中无法识别对象,ruby-on-rails,Ruby On Rails,我的一个控制器中有此代码,可以访问事件 eventful = Eventful::API.new('my_key_here') 但是,当我刷新页面时,出现以下错误 uninitialized constant LocationsController::Eventful 我按照指示安装了gem版本2.2.1,我的gem文件包含以下行 gem 'eventfulapi', '2.2.1' 我试图在这里重新创建一个示例: 我可以让它在一个单独的ruby脚本中工作(e.x.通过命令行运行'ruby

我的一个控制器中有此代码,可以访问事件

eventful = Eventful::API.new('my_key_here')
但是,当我刷新页面时,出现以下错误

uninitialized constant LocationsController::Eventful
我按照指示安装了gem版本2.2.1,我的gem文件包含以下行

gem 'eventfulapi', '2.2.1'
我试图在这里重新创建一个示例:
我可以让它在一个单独的ruby脚本中工作(e.x.通过命令行运行'ruby a.rb'),这让我认为这是完全可能的。我只是无法让它在控制器中工作,以便为我的应用程序提供数据。

尝试在控制器代码的顶部添加
require'eventful/api'

在重新加载页面之前,我还运行了bundle安装并重新启动了rails服务器。这很有效。谢谢我考虑过这个解决方案,但在控制器代码的顶部添加“require”似乎不是最佳实践。为什么Gem文件中包含Gem还不够?假设您使用的是Rails 3+,我猜这是因为Gem的主文件与实际的Gem名称不同,请尝试将以下内容放在Gem文件中:
Gem“eventfulapi”,“2.2.1”,“require=>“eventful/api”
。查看更多信息。