2014-12-17 8 views
0

У меня эта странная ошибка (для меня) Я не могу понять, почему это происходит.неопределенный метод `<< 'для истины: TrueClass

Иногда, когда я звоню RestClient.get 'http://google.com' я получил ответ и несколько раз я получаю эту ошибку undefined method '<<' for true:TrueClass

Я использую Rails 4.1.8, Ruby 2.1.5p273 и RestClient 1.7.2

2.1.5 :010 > RestClient.get 'https://google.com' 
NoMethodError: undefined method `<<' for true:TrueClass 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/rest-client-1.7.2/lib/restclient/request.rb:525:in `log_request' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/rest-client-1.7.2/lib/restclient/request.rb:410:in `transmit' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/rest-client-1.7.2/lib/restclient/request.rb:176:in `execute' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/rest-client-1.7.2/lib/restclient/request.rb:41:in `execute' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/rest-client-1.7.2/lib/restclient.rb:65:in `get' 
    from (irb):10 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/railties-4.1.8/lib/rails/commands/console.rb:90:in `start' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/railties-4.1.8/lib/rails/commands/console.rb:9:in `start' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:69:in `console' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:40:in `run_command!' 
    from /home/ivan/.rvm/gems/ruby-2.1.5/gems/railties-4.1.8/lib/rails/commands.rb:17:in `<top (required)>' 
    from bin/rails:4:in `require' 
    from bin/rails:4:in `<main>' 
+0

Можете ли вы показать код, где вы обрабатываете ответ от 'http: // google.com', и где вы пользователь' << 'в этом контексте. Проблема в том, что вы вызываете '<<' на то, что является 'истинным', а не' array' – Nermin

+1

@Nermin: Он этого не делает. RestClient делает. – Amadan

ответ

0

Ваш RestClient.log установлен в true. Найти, где это происходит, перехватывая сеттер:

def RestClient.log=(value) 
    raise "HERE!" 
end 

затем просто ждать, пока исключение срабатывает, и видно из трассировки стека, задающего глупые значения. :)

Смежные вопросы