1. ホーム
  2. ruby-on-rails

[解決済み] Pry: スタックを見せてください

2022-05-17 08:37:44

質問

RailsでPryを使用していて、コード内でブレークポイントに到達すると binding.pry

どうやってここに来たのか、誰が私を呼んだのか、誰が彼らを呼んだのか、などを知りたいのです。しかし、奇妙なことに、そのコマンドが見当たりません。誰か知っていますか?

どのように解決する?

この場合 pry-stack_explorer プラグインを使用すると、コールスタックを上下に移動することができます ( updown ) 、コールスタックの表示 ( show-stack で)コールスタックを表示する、などなど。

はこちらをご覧ください。

Frame number: 0/64

From: /Users/johnmair/ruby/rails_projects/personal_site/app/controllers/posts_controller.rb @ line 7 PostsController#index:

    5: def index
    6:   @posts = Post.all
 => 7:   binding.pry
    8: end

[1] pry(#<PostsController>)> show-stack

Showing all accessible frames in stack (65 in total):
--
=> #0  index <PostsController#index()>
   #1 [method]  send_action <ActionController::ImplicitRender#send_action(method, *args)>
   #2 [method]  process_action <AbstractController::Base#process_action(method_name, *args)>
   #3 [method]  process_action <ActionController::Rendering#process_action(*arg1)>
<... clipped ...>

[2] pry(#<PostsController>)> up

Frame number: 1/64
Frame type: method

From: /Users/johnmair/.rvm/gems/ruby-2.0.0-p0/gems/actionpack-3.2.8/lib/action_controller/metal/implicit_render.rb @ line 4 ActionController::ImplicitRender#send_action:

    3: def send_action(method, *args)
 => 4:   ret = super
    5:   default_render unless response_body
    6:   ret
    7: end

[3] pry(#<PostsController>)>