2011-07-20 59 views
1

我正在使用Twitter gem,並且想從我的Friend模型中獲取用戶列表,然後測試他們是否正在關注Twitter用戶。 ..取消關注如果Twitter API返回false。麻煩的是,似乎我下面使用的代碼從不計算爲false,即使API返回false,因此它總是會回到else部分。使用Twitter Gem在rails 3中進行錯誤測試

我試過像if ret == 'false'這樣的變化,它沒有奏效。

 ret = @t.friendship?(@id_str, f.screen_name) 
      if ret == false 
      @t.unfollow(f.screen_name) 
      puts "#{f.screen_name} has been unfollowed." 
      self.update_unfollowed_column(f.id, false) 
      else 
      self.update_following_column(f.id) 
      end 

在控制檯中,不過,如果我做的:

r = t.friendship?('user1', 'user2') 
=> false 

然後,我可以這樣做:

r == false 
=> true 

所以,我不知道我到底是什麼在我的Friend模型中對代碼做錯了。

回答

0

之前的if語句,嘗試調試結果是從friendship?方法是什麼:

logger.info ret.class.name # => FalseClass if it's actually false, 
          # => String if it's 'false' 

logger.info ret.inspect # => "false" if it's false. 

logger.info((ret == false).inspect) # => Should be "true"