2013-12-23 40 views
-1

我一直在尋找我的問題永遠的答案。出於某種原因,我得到這個錯誤:send_tweet': undefined method更新'爲零:NilClass(NoMethodError)' 每當我嘗試運行我的紅寶石腳本。我不知道如何解決這個問題。 下面的代碼:`send_tweet':未定義的方法`更新'爲零:NilClass(NoMethodError)

class TwitterConnect 
    def intialize 
     @client = Twitter::REST::Client.new do |config| 
      config.consumer_key = "CONSUMER KEY" 
      config.consumer_secret ="CONSUMER SECRET" 
      config.access_token = "ACCESS TOKEN" 
      config.access_token_secret = "ACCESS TOKEN SECRET" 
     end 
     @client.middleware.insert_after Twitter::Response::RaiseError, CustomMiddleware 

    end 

    def send_tweet (twitterMessage = "Hello world!") 
     @client.update("New TwitterConnect object intialized") 
     puts twitterMessage 
    end 
end 
+0

順便說一句,你的錯誤只是意味着沒有爲對象'@ client'調用'update'的方法。也許你需要使用其他方法?也許可以在對象上使用'@ client.instance_methods'來查看它提供的所有東西。 – noMAD

+0

它說'未定義的方法:實例方法'。我想這意味着@客戶端不能是一個實例變量? – blockaj

回答

0

如果這是你有,你send_tweet方法是行不通的,因爲@client從未定義的代碼。你需要修復一些事情才能使它工作。

首先,要獲得任何訪問權限,您需要創建該類的新實例。

tc = TwitterConnect.new 

然後,您將能夠在新創建的TwitterConnect對象中訪問您的客戶端實例變量。

tc.send_tweet 

或者,如果你已經在做這一步,仍然得到錯誤,問題很可能在你的配置變量的初始化方法中的身份驗證。

希望有幫助!

+0

根據你的說法,問題在於驗證。我創建了一個TwitterConnect對象並稱爲'send_tweet'函數。我怎樣才能解決它,所以身份驗證是有效的。 – blockaj

相關問題