【发布时间】:2012-09-12 15:05:47
【问题描述】:
[已解决:请参阅下面的评论]
我创建了一个 Ruby Gem 来连接到我的应用程序的 API:my_app_api。我想像这样使用它:MyAppAPI::Foo.bar()。但是,我得到:
NameError: uninitialized constant MyAppAPI
我知道调用/命名它的标准方法是MyAppApi::Foo.bar(),但我更愿意保留首字母缩写词类命名约定。如何指定/加载模块?
作为参考,该类如下所示:
module MyAppAPI
class Foo < ActiveResource::Base
extend MyAppAPI
self.site = 'http://localhost:3000/api/'
self.format = :json
class << self
def bar
return 'huzzah!'
end
end
end
end
my_app_api.rb 文件如下所示:
require "rubygems"
require 'active_resource'
require 'my_app_api/foo'
【问题讨论】:
-
看起来这实际上是 RVM 问题的结果(我在全局 gemset 中安装了旧版本的 gem,但没有安装)。感谢您的想法!