2015-03-23 5 views
10

Моей среды:Получение неопределенного метода `+» для ноля: NilClass только RubyMine отладчик на

Ubuntu 14 
Ruby 2.2.1 
Rails 4.2 

Вновь созданного приложении рельсов, с 1 действием:

class FramesController < ApplicationController 
    def index 
    return 0 
    end 
end 

Везде, где я поставил точку останова (в представленном случае при возврате 0), я получаю эту ошибку в браузере:

undefined method `+' for nil:NilClass 

Это происходит только в том случае, если я использую «Debug» op в RubyMine и при достижении точки останова. Когда я запускаю сервер без отладки/контрольных точек, все работает нормально.

+1

Вы пробовали использовать что-то вроде 'raise' вместо' возврата 0' как точки останова? Я чувствую, что возвращение числа 0 здесь вызывает проблемы с соглашениями контроллера Rails, которые вы не видите. – sixty4bit

+0

Я закончил с возвратом 0 после того, как попробовал много другого кода. Например, вызов sub для строки. Ошибка всегда одна и та же, но только с включенным отладчиком и точкой останова. В противном случае это работает отлично. –

ответ

22

Я была такая же проблема, и только удаляя byebug gem из Gemfile установил его

group :development, :test do 
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
    #gem 'byebug' 

Проверьте, если у вас есть byebug в Gemfile и в случае его отключения.

Испытано с IntelliJ Idea 14.1, также должны применяться к RubyMine

+0

Казалось, что-то это сделал. Я больше не получаю ошибку в точке останова, но я боюсь, что я, возможно, испортил свои драгоценные камни, потому что теперь отладчик вообще не останавливается на контрольных точках. Какие драгоценные камни требуют RubyMine для работы отладчика? –

+1

Я предполагаю, что это ruby-debug-ide. перечислите попытку перезапуска редактора, поскольку это может помочь. Проверьте, есть ли какие-либо обновления, которые вы должны установить для rubimine или плагинов, и было что-то исправленное и выпущено только сегодня. – dawez

+0

Классический «вы пытались отключить его и снова?» исправил это для меня. Спасибо :) –

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