在rails 3中使用Twitter Gem测试错误

时间:2011-07-20 18:31:44

标签: ruby-on-rails-3

我正在使用Twitter gem,我想从我的Friend模型中获取用户列表并测试他们是否正在关注Twitter用户,然后...如果Twitter取消关注API返回false。麻烦的是,似乎我在下面使用的代码永远不会评估为false,即使API返回false所以它总是还原为else部分。

我尝试过类似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模型中的代码到底出了什么问题。

1 个答案:

答案 0 :(得分: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"