2017-01-05 144 views
0

您好我正在軌道應用程序。在ArticlesHelper模塊的功能makeRequestToAPI1,我打電話了API1類的(這個類存在於LIB /)法「的createRequest(請求),但它給我‘NoMethodError’。無法訪問從助手模塊在軌道中的lib類

articles_helper.rb

require '././lib/ThirdPartyLibs/api1' 
require '././lib/ThirdPartyLibs/api2' 

module ArticlesHelper 
    include EnumsHelper 

    def makeRequestToAPI1(request) 
     # here as request to API is same as the original request 
     # so I am directly passing the request to the API 
     response = API1.createRequest(request) 
     Rails.logger.debug "makeRequestToAPI1: #{response}" 
    end 

    def makeRequestToAPI2(request) 
     requestToAPI2 = {} 
     requestToAPI2.merge!({:items => request[:items]}) 
     requestToAPI2.merge!({:pickup => request[:pickup]}) 
     requestToAPI2.merge!({:drop => request[:drop]}) 

     #response = API2.createRequest(requestToAPI2) 
     #Rails.logger.debug "makeRequestToAPI2: #{response}" 
     end 
end 

api1.rb

class API1 
    #class << self 

    def self.createRequest(request) 
     @response = {:etd => 10, :eta => 20} 
    end 
end 

我是什麼在這裏失蹤?

+0

你做錯了。第一件事是你沒有遵循軌道的命名約定。請先清理你的代碼。這是你編寫的完全醜陋的代碼。 –

+0

@Bharatsoni,你能特別指出我違反公約的地方嗎?除此之外,你能幫我回答這個問題嗎 – paramvir

+0

你可以參考導軌指南和其他博客。 –

回答

0

能否請您嘗試添加以下行applicaion.rb

config.autoload_paths += %W(#{config.root}/lib) 
+0

感謝它的工作.. – paramvir

+0

@ paramvir請upvote並接受答案,如果它幫助:) – pankajbatra