我正在使用Goliath为我的Rails应用程序编写一个web服务,我想记录发送到我的web服务器的所有请求。我有一个Api
类,它位于两个模块中:
require 'goliath'
module WebService
module Rest
class Api < Goliath::API
def response(env)
# Log the request
Logger.create(id: params['id'], type: params['type'])
[200, {}, "success"]
end
end
end
我在app/models
中有一个模型,名为Logger
。问题是当我运行ruby api.rb -sv
时,它会抛出一个错误:
uninitialized constant WebService::Rest::Api::Logger
我该怎么办?谢谢
如果您使用ruby api.rb -sv
运行Ruby代码,而不是通过Rails本身运行(因此,Rails环境没有加载,同时,您的模型/也没有加载)。
从终端(在您的应用程序目录中)运行rails console
,然后运行您的api代码。你应该没事的。