2015-03-26 2 views
0

В частности, я вижу:Каковы дополнительные позиции в консоли rails при вводе недопустимой команды?

Loading development environment (Rails 4.2.1) 
irb(main):001:0> f 
NameError: undefined local variable or method `f' for main:Object 
from (irb):1 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/commands/console.rb:110:in `start' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/commands/console.rb:9:in `start' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:68:in `console' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/commands.rb:17:in `<top (required)>' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require' 
from /Users/benjamin/demo/bin/rails:8:in `<top (required)>' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/commands/rails.rb:6:in `call' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/command_wrapper.rb:38:in `call' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application.rb:183:in `block in serve' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application.rb:156:in `fork' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application.rb:156:in `serve' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application.rb:131:in `block in run' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application.rb:125:in `loop' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application.rb:125:in `run' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.3.3/lib/spring/application/boot.rb:18:in `<top (required)>' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
from /Users/benjamin/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 

Как я могу скрыть это навсегда и просто увидеть реальное сообщение об ошибке? Я нашел несколько вещей в Интернете, которые показывают, как временно скрыть эти позиции, в том числе:

IRB.CurrentContext.back_trace_limit = 0 

Но пока нет ничего постоянного.

Цените помощь!

Бен

ответ

0

лишние строки являются «трассировку», как вы правильно определили из текущего контекста вызова.

Я думаю, вам нужно добавить .irbrc файл, как описано here. Обычно это будет в вашем домашнем каталоге, хотя он будет использовать файл .irbrc в вашем текущем каталоге, если домашний каталог не содержит его.

В этом файле вы можете добавить строку, чтобы ограничить размер трассировки каждый раз, когда вы называете irb или rails console:

IRB.conf[:BACK_TRACE_LIMIT] = 0 

Вы не можете свести его к нулю, как это иногда дает подсказки как где может возникнуть ошибка, если само сообщение об ошибке не особенно полезно.

+0

Awesome, спасибо! – Ben

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