質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

926閲覧

Railsにて、debuggerメソッドを差し込むとエラーが出てしまいます。

helo

総合スコア36

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2019/12/15 06:06

編集2019/12/15 10:41
remote: https://rubygems.org/ specs: actioncable (5.1.6) actionpack (= 5.1.6) nio4r (~> 2.0) websocket-driver (~> 0.6.1) actionmailer (5.1.6) actionpack (= 5.1.6) actionview (= 5.1.6) activejob (= 5.1.6) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) actionpack (5.1.6) actionview (= 5.1.6) activesupport (= 5.1.6) rack (~> 2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) actionview (5.1.6) activesupport (= 5.1.6) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) activejob (5.1.6) activesupport (= 5.1.6) globalid (>= 0.3.6) activemodel (5.1.6) activesupport (= 5.1.6) activerecord (5.1.6) activemodel (= 5.1.6) activesupport (= 5.1.6) arel (~> 8.0) activesupport (5.1.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) ansi (1.5.0) arel (8.0.0) autoprefixer-rails (9.7.3) execjs bcrypt (3.1.12-x64-mingw32) bindex (0.8.1) bootstrap-sass (3.3.7) autoprefixer-rails (>= 5.2.1) sass (>= 3.3.4) builder (3.2.3) byebug (11.0.1) coderay (1.1.2) coffee-rails (4.2.2) coffee-script (>= 2.2.0) railties (>= 4.0.0) coffee-script (2.4.1) coffee-script-source execjs coffee-script-source (1.12.2) concurrent-ruby (1.1.5) crass (1.0.5) erubi (1.9.0) execjs (2.7.0) ffi (1.11.2-x64-mingw32) formatador (0.2.5) globalid (0.4.2) activesupport (>= 4.2.0) guard (2.13.0) formatador (>= 0.2.4) listen (>= 2.7, <= 4.0) lumberjack (~> 1.0) nenv (~> 0.1) notiffany (~> 0.0) pry (>= 0.9.12) shellany (~> 0.0) thor (>= 0.18.1) guard-compat (1.2.1) guard-minitest (2.4.4) guard-compat (~> 1.2) minitest (>= 3.0) i18n (1.7.0) concurrent-ruby (~> 1.0) jbuilder (2.7.0) activesupport (>= 4.2.0) multi_json (>= 1.2) jquery-rails (4.3.1) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) listen (3.1.5) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) loofah (2.3.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) lumberjack (1.0.13) mail (2.7.1) mini_mime (>= 0.1.1) method_source (0.9.2) mini_mime (1.0.2) mini_portile2 (2.4.0) minitest (5.10.3) minitest-reporters (1.1.14) ansi builder minitest (>= 5.0) ruby-progressbar multi_json (1.14.1) nenv (0.3.0) nio4r (2.5.2) nokogiri (1.10.5-x64-mingw32) mini_portile2 (~> 2.4.0) notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) pg (0.20.0-x64-mingw32) pry (0.12.2) coderay (~> 1.1.0) method_source (~> 0.9.0) pry-byebug (3.7.0) byebug (~> 11.0) pry (~> 0.10) pry-rails (0.3.9) pry (>= 0.10.4) puma (3.9.1) rack (2.0.7) rack-test (1.1.0) rack (>= 1.0, < 3) rails (5.1.6) actioncable (= 5.1.6) actionmailer (= 5.1.6) actionpack (= 5.1.6) actionview (= 5.1.6) activejob (= 5.1.6) activemodel (= 5.1.6) activerecord (= 5.1.6) activesupport (= 5.1.6) bundler (>= 1.3.0) railties (= 5.1.6) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.2) actionpack (~> 5.x, >= 5.0.1) actionview (~> 5.x, >= 5.0.1) activesupport (~> 5.x) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.3.0) loofah (~> 2.3) railties (5.1.6) actionpack (= 5.1.6) activesupport (= 5.1.6) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (13.0.1) rb-fsevent (0.10.3) rb-inotify (0.10.0) ffi (~> 1.0) ruby-progressbar (1.10.1) ruby_dep (1.5.0) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) sass-rails (5.0.6) railties (>= 4.0.0, < 6) sass (~> 3.1) sprockets (>= 2.8, < 4.0) sprockets-rails (>= 2.0, < 4.0) tilt (>= 1.1, < 3) shellany (0.0.1) spring (2.0.2) activesupport (>= 4.2) spring-watcher-listen (2.0.1) listen (>= 2.7, < 4.0) spring (>= 1.2, < 3.0) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-rails (3.2.1) actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) sqlite3 (1.3.13-x64-mingw32) thor (0.20.3) thread_safe (0.3.6) tilt (2.0.10) turbolinks (5.0.1) turbolinks-source (~> 5) turbolinks-source (5.2.0) tzinfo (1.2.5) thread_safe (~> 0.1) tzinfo-data (1.2019.3) tzinfo (>= 1.0.0) uglifier (3.2.0) execjs (>= 0.3.0, < 3) web-console (3.5.1) actionview (>= 5.0) activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) websocket-driver (0.6.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.4) PLATFORMS x64-mingw32 DEPENDENCIES bcrypt (= 3.1.12) bootstrap-sass (= 3.3.7) byebug (= 9.0.6) coffee-rails (= 4.2.2) guard (= 2.13.0) guard-minitest (= 2.4.4) jbuilder (= 2.7.0) jquery-rails (= 4.3.1) listen (= 3.1.5) minitest (= 5.10.3) minitest-reporters (= 1.1.14) pg (= 0.20.0) pry-byebug pry-rails puma (= 3.9.1) rails (= 5.1.6) rails-controller-testing (= 1.0.2) sass-rails (= 5.0.6) spring (= 2.0.2) spring-watcher-listen (= 2.0.1) sqlite3 (= 1.3.13) turbolinks (= 5.0.1) tzinfo-data uglifier (= 3.2.0) web-console (= 3.5.1) ```### 前提・実現したいこと 現在、Railsチュートリアル第7章を進めているのですが、UsersController.rbの showメッソド内にdebuggerメソッドを差し込んでサーバーでの(buybug)プロンプトが 出ているか確認する部分で、どうしても以下のエラーが出て確認作業が出来ない状態です。訳が判らず困惑しております。詳しい方いらっしゃいましたら、ご教示頂けますと 有難いです。よろしくお願いします。 ### 発生している問題・エラーメッセージ

NameError in UsersController#show

undefined local variable or method `debugger' for #UsersController:0x000000000c440690

### 該当のソースコード ```ここに言語名を入力 class UsersController < ApplicationController def show @user = User.find(params[:id]) debugger end def new end end

試したこと

どこを触れば良いのかわからず、嵌ってしまっています。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Rails.envdevelopmentな事は確認していますか?

投稿2019/12/17 14:10

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siruku6

2019/12/18 03:56

productionモードで起動していることはまぁないと思って確認していませんでしたが、その可能性もありますね。
helo

2019/12/18 11:23

いいえ、developmentでやっていますので本番モードではないです。
asm

2019/12/18 14:22

Gemfileが正しいと仮定すると、 - なんらかの原因で別のGemfileが読み込まれている - Rails.envがdevelopmentではない - railsを再起動していない このどれかになり、一番確率が高いのがdevelopment(or test)以外で起動しているケースになります。
helo

2019/12/19 14:45

asm様 コメントありがとうございます。 開発モードでやっているのですが・・・。サブブランチで作業をしてBitbucketにいつもpushしているのですがそこで何か間違っているという事なのでしょうか?
asm

2019/12/20 01:54

あなたが、この質問に対して提出している情報を見る限りでは 明確に誤っている箇所がなく指摘できないのが心苦しい限りです。
helo

2019/12/20 12:39

asm様 Railsチュートリアルを進める中で、特には誤ったことはしていないとは思うのですが、rails.envが developmentなのを確認は特にはしていないです・・・。
asm

2019/12/20 13:59

あと、ありうるのはGemfileのgroup指定にtypoがあるパターンですかね
helo

2019/12/20 14:50

Gemfileのgroup指定部分は、以下のような状態です。 typeがないように思うのですが、いかがでしょうか? group :development, :test do gem 'sqlite3', '1.3.13' # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', '9.0.6', platform: :mri #[:mri, :mingw, :x64_mingw] # Adds support for Capybara system testing and selenium driver #gem 'capybara', '~> 2.13' #gem 'selenium-webdriver' end group :development do # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' #gem 'pry-byebug' #gem 'pry-rails' end group :test do gem 'rails-controller-testing', '1.0.2' gem 'minitest', '5.10.3' gem 'minitest-reporters', '1.1.14' gem 'guard', '2.13.0' gem 'guard-minitest', '2.4.4' end group :production do gem 'pg', '0.20.0' end
asm

2019/12/21 06:02

platform: :mriが問題な気がします。 「bundlerのplatform指定」は「gemのplatform指定」とは違い Gemfileでplatform: :mri指定をすると、mri環境以外ではgemがインストールされなくなります。
helo

2019/12/21 06:21

そうだとしたら、buybugのplatform: :mriを削除して、再びbundle installを行えば良いのでしょうか?
asm

2019/12/21 07:19

そのはずです
helo

2019/12/21 13:20

asm様 その部分を削除して、bundle installを行ったのですが、以下のエラーが出てしまいました・・。 $ bundle install Unable to find a spec satisfying byebug (= 9.0.6) in the set. Perhaps the lockfile is corrupted? ロックファイルが見つからない。と言っています。 どうしたら良いのでしょうか。
asm

2019/12/21 15:05

よくGemfile.lockみたら byebug (11.0.1) と byebug (= 9.0.6) で衝突してますね・・・ 一度、Gemfile.lockを削除してbundle installをやりなおしてみてはどうでしょうか?
helo

2019/12/22 02:12

仰られるように、確かにbyebug(11.0.1)が最初の方でlockファイルにありました。gem自体は9.0.6だったはずなのですが・・・不思議です。。。 それでは、lockファイルの記録を全て削除して、platform :mri部分を削除したbyebugをbundle installという事で良いのでしょうか。
asm

2019/12/22 02:54

良いのでしょうか。 と問われても あなたが使っているGemfileの全文もruby環境もわかっていない以上 答えは「わかりません」としか言えません。 ただ、「Gemfile.lockに問題があるのならば一度消してGemfile.lockを作り直してみたら、状況が変わるのではないか?」という提案です。 なお、ダメだった場合は「byebugにバージョン指定はいらないのではないか?」という提案をするつもりでした。
helo

2019/12/22 05:29

申し訳ないです。すいません。仰られるように判断を仰ぐような内容ではなかったです。お許しください。Gemfile.lockに関しては、bundle updateをしてみました。この時点では、byebug9.0.6の状態なのですが・・。 このgemはバージョン指定が無くても良いのですか? 初心者ですので教えていただけますと有難いです。
asm

2019/12/22 06:13

byebugはその性質上、用が終わったらすぐに`debugger`を取り除きます。 つまり、コード上にbyebugに依存した部分は多くの場合0箇所で、たまに1箇所ある感じですし gitにコミットされたコードに限れば「0」であるようにする事を強く推奨します。 このため、不意にbyebugのバージョンが上がってしまって非互換の変更があったところでバグの原因になる可能性はなく バージョン指定しないことが問題にはおそらくなりません。 実際は、教育のコストの問題があるので (表示されるメッセージが変化して初学者が混乱する可能性など) バージョン指定にメリットが無いわけではないですが 動かないよりはマシじゃないかと思います。
helo

2019/12/22 06:35

asm様 いまやってみたら、debuggerを差し込んでちゃんと動きました。 ありがとうございます。非常に勉強になりました。感謝いたします。 また、機会ありましたらご指導いただけますと有難いです。 この度は、重ね重ねご丁寧なアドバイスをいただきまして心より お礼申し上げます。それでは失礼いたします。
siruku6

2019/12/22 10:07

お二人ともお疲れさまでした。。。
guest

0

リスト 3.2: サンプルアプリケーション用のGemfile
ここに書いてあるgemは全てGemfileに書かれている状態でbundle install はされていますか?

もしされていても動かないようであれば、

  • pry-byebug
  • pry-rails

という二つの gem を Gemfile の development グループに追加して、 debbuger の代わりに binding.pry と記載する事をおススメします。

この場合、もしかしたらチュートリアルと違う操作をすることになるかもしれませんが、pry-rails たちの方が普及しているように感じます。

投稿2019/12/15 07:38

siruku6

総合スコア1382

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

helo

2019/12/15 09:00

siruku6様 コメントありがとうございます。 gemfileに関しては、現状全てbundle installはしております。 やはりgemのbyebugが動いてないという事でしょうか。 仰られているgemを入れてやってみます。 ありがとうございます。
helo

2019/12/15 09:16

siruku6様 やってみたのですが、やはり以下のエラーが出てしまい/users/1のページが 出てきませんでした。 NoMethodError in UsersController#show undefined method `pry' for #<Binding:0x000000000bdf7ea0> Did you mean? try
siruku6

2019/12/15 09:39 編集

たしかに gem が使えていないだけのように見えます https://qiita.com/silmisilon/items/8e08435204d8d08d09ff ここにあるような位置に gem 名を記載していますか? Gemfile.lock を質問に追加掲載していただけると何かわかるかもしれないと思いました。 rubyソースコードの問題ではなく、環境や設定の問題と考えた方がよさそうな気がしてきています。
helo

2019/12/15 10:42

siruku6様 Gemfile.lockをコピーして載せました。如何でしょうか?
helo

2019/12/15 11:03

siruku6様 debugger → :debuggerとシンボルにすることで、エラーが出なくなり/users/1に繋がりました。 ただ、サーバーのターミナルには(buebug)というプロンプトが現れません。 ですので、解決ではないのですが・・・。
siruku6

2019/12/17 10:34

:debugger これは、単にデータがそこに置かれているだけになります。 たとえるなら 'a' と書いてあるのと何ら変わらないです。。。 ーーー Gemfile.lockを見てみましたが、pry-byebug byebugなども正常にインストールされているように見えるので、何とも不思議です....
helo

2019/12/17 13:54

siruku6様 そうなんです・・・。 なぜこうなのかが全く判らないのですが、ここは割り切って前に進めていこうと思います。諸々アドバイス頂きまして、ありがとうございました。 引き続き、チュートリアル頑張ります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問