访问不同模块内的Rails模型

时间:2014-09-29 12:42:16

标签: ruby-on-rails ruby goliath

我正在使用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

我该怎么办?感谢。

1 个答案:

答案 0 :(得分:3)

如果您使用ruby api.rb -sv运行Ruby代码而不是通过Rails本身运行(因此,Rails环境未加载,同时,您的模型/未加载)。

从终端(在您的app目录中)运行rails console,然后运行您的api代码。你应该没事。