web-dev-qa-db-ja.com

Rails Byebugはアプリケーションを停止しませんでした

Byebugを使用してアプリケーションをデバッグしたいのですが、コードにbyebugをすでに挿入していますが、アプリケーションが停止することはありません。これが私のGemfileです。

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

  gem 'byebug', '~> 5.0.0'

  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

end

コントローラーの1つにbyebugを配置しました。

def edit
  byebug
  present Ingredient::Update
end

私はすでにすべてのリクエストをローカルでdevelopment.rb。すでにサーバーを数回再起動しています。

config.consider_all_requests_local       = true

byebugが最初のトレースのみを出力し、その後アプリが次の行を実行し続けるスタックトレースの例を次に示します。

web_1 | [43, 52] in /recipe/app/controllers/ingredients_controller.rb
web_1 |    43:   def update
web_1 |    44:     run Ingredient::Update do |op|
web_1 |    45:       return redirect_to op.model
web_1 |    46:     end
web_1 |    47:     byebug
web_1 | => 48:     render action: :edit
web_1 |    49:   end
web_1 |    50:
web_1 |    51:   # DELETE /ingredients/1
web_1 |    52:   # DELETE /ingredients/1.json
web_1 | (byebug)   Rendered ingredients/edit.haml within layouts/application (264.1ms)
web_1 |   Rendered layouts/_navigation.haml (45.0ms)
web_1 | Completed 200 OK in 2827ms (Views: 2764.0ms | ActiveRecord: 3.9ms)
web_1 |
web_1 |
web_1 | Started GET "/assets/application.self-1ca8529ef221ef9dba25e835f258c4e62f2f49bce400273a67e63d7d73be28ba.css?body=1" for 192.168.59.3 at 2015-07-28 06:46:00 +0000

何か案が? 更新私はRailsアプリ内でdocker-composeとdockerを使用しています。

22
Edwin Lunando

docker-composebyebugと組み合わせて使用​​する場合、正しく機能させるためにこれを追加する必要があります。 このブログ投稿 にあります

これをdocker-compose.ymlに追加します

web:
  ...
  stdin_open: true
  tty: true

次に、デーモン化モードでdocker-composeを実行し、dockerを使用してWebコンテナーに接続します。

docker-compose up -d
docker attach myappname_web_1
82
pgericson

デバッガモードを有効にするには:

docker-compose run --service-ports web

これを見てください ブログ投稿

6
Chryus