2014-09-29 92 views
0

我正在使用Goliath爲我的Rails應用程序編寫Web服務,並且我想記錄發送到我的Web服務器的所有請求。我有這個Api類,這是內部的兩個模塊:訪問不同模塊內的Rails模型

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 

我該怎麼辦?謝謝。

+0

它會引發此錯誤,因爲您在沒有rails環境的情況下運行此文件。打開導軌控制檯,你會看到它正常工作。 – BroiSatse 2014-09-29 12:46:52

回答

3

如果您使用ruby api.rb -sv而不是通過Rails本身運行Ruby代碼(因此,Rails環境未加載,因此未加載您的模型)。

從終端(在您的應用程序目錄中)運行rails console,然後運行您的api代碼。你應該沒問題。