私はRuby 1.9.3でRuby on Rails 4を使用しています。レーキ・タスク中にエラーが発生すると、非常に優れたスタック・トレースが得られます。Rails 4コンソールで例外スタックが有効になる
しかし、私は例外を引き起こす私のレールコンソール(pry)で何かをすると、エラーメッセージとそれを引き起こした1行のコードしか見ることができません(ほとんどの時間がレールコアのどこかにあります)。
これらのスタックダンプをコンソールで有効にする方法はありますか?
私はRuby 1.9.3でRuby on Rails 4を使用しています。レーキ・タスク中にエラーが発生すると、非常に優れたスタック・トレースが得られます。Rails 4コンソールで例外スタックが有効になる
しかし、私は例外を引き起こす私のレールコンソール(pry)で何かをすると、エラーメッセージとそれを引き起こした1行のコードしか見ることができません(ほとんどの時間がレールコアのどこかにあります)。
これらのスタックダンプをコンソールで有効にする方法はありますか?
(すべての行を表示)。
どうやら、私は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 »
コンソールでのエラーは、あなたはそれで問題だこれは何
$ 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
私はまさにそれを行うと、私は何を取得していますが、単に 'NameErrorです:メインのため、未定義のローカル変数やメソッド 'no_method':オブジェクト (PRY)から:1: '
私はちょうどこじつけがこの中に手を持つかもしれないことを今見ている。それは可能でしょうか? –
デフォルトコンソールとして設定していますか? –
これは私を幸せにする –