2013-07-15 25 views
8

私はRuby 1.9.3でRuby on Rails 4を使用しています。レーキ・タスク中にエラーが発生すると、非常に優れたスタック・トレースが得られます。Rails 4コンソールで例外スタックが有効になる

しかし、私は例外を引き起こす私のレールコンソール(pry)で何かをすると、エラーメッセージとそれを引き起こした1行のコードしか見ることができません(ほとんどの時間がレールコアのどこかにあります)。

これらのスタックダンプをコンソールで有効にする方法はありますか?

答えて

22

(すべての行を表示)。

どうやら、私はwtf?が必要です。

[7] project » p.known_attributes 
NoMethodError: undefined method `foo' for #<Bar:0x007f871fd12a38> 
from /[...]/gems/activemodel-4.0.0/lib/active_model/attribute_methods.rb:436:in `method_missing' 

[8] project » wtf? 
Exception: NoMethodError: undefined method `foo' for #<Bar:0x007f871fd12a38> 
-- 
[... stack dump ...] 

[9] project » 
+0

これは私を幸せにする –

1

コンソールでのエラーは、あなたはそれで問題だこれは何

$ rails c 
Loading development environment (Rails 4.0.0) 
irb(main):001:0> no_method 
NameError: undefined local variable or method `no_method' for main:Object 
    from (irb):1 
    from /Users/michal/Projects/tennisliga/.gems/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start' 
    from /Users/michal/Projects/tennisliga/.gems/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start' 
    from /Users/michal/Projects/tennisliga/.gems/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>' 
    from bin/rails:4:in `require' 
    from bin/rails:4:in `<main>' 

ように表示されますがありますか?スタックトレースは表示されませんか?

EDIT:あなたはプライを使用していて、pry wiki ショートの例を参照して、より多くのスタックトレースを見たい なら、私は自分自身解決策を見つけた

Pry.config.exception_handler = proc do |output, exception, _pry_| 
    output.puts "#{exception}" 
    output.puts "#{exception.backtrace}" 
end 
+0

私はまさにそれを行うと、私は何を取得していますが、単に 'NameErrorです:メインのため、未定義のローカル変数やメソッド 'no_method':オブジェクト (PRY)から:1: '

' を'。スタックダンプはありません。 –

+0

私はちょうどこじつけがこの中に手を持つかもしれないことを今見ている。それは可能でしょうか? –

+0

デフォルトコンソールとして設定していますか? –

関連する問題