2017-07-31 120 views
0

在Rails initializers,我發現下面一行:`new`如何創建一個對象?

LineAdsClient = LineAds::AdsClient.new(api_key: LineAccessToken.order('created_at').last[:access_token]) 

我試圖尋找在工作區AdsClient類,但我找不到它。

這種對象創建風格如何在沒有聲明類的情況下工作?

創建一個實例後,我們使用LineAdsClient象下面這樣:

def client 
    @client ||= ::LineAdsClient 
end 
+0

應該有一堂課。嘗試找到'LineAds',這將最終導致'AdsClient'。 – Pavan

+0

我不明白這個問題。你是什​​麼意思,「沒有宣佈課堂」?它正在創建一個LineAds :: AdsClient類的實例。 –

+2

該類可能在另一個文件夾中定義(例如'./ lib'而不是'。/ app'),或者被包含的gem定義。無論如何,這個類肯定存在(假設代碼有效!);你一定在看錯地方。 –

回答

4

如果找不到類,但這並不意味着沒有類。你只是沒有找到它(看錯了地方或其他原因)。

如果您使用撬,試試這個在您的軌道控制檯

show-source LineAds::AdsClient 
# or 
show-source LineAds::AdsClient.new 

它會告訴你它的定義。

+0

謝謝。得到它了。它被稱爲寶石。 – RajSharma

相關問題