2017-07-31 75 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

相关问题