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

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

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

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

Sinatra

Sinatraは、Rubyで作られた オープンソースのWebアプリケーションフレームワークです。

Q&A

1回答

1465閲覧

Ruby,sinatraでwebアプリ作成中。binding.pryが実行できません。

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Sinatra

Sinatraは、Rubyで作られた オープンソースのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2021/08/09 13:14

binding.pryが実行できません。


現在、Ruby,sinatra,sqlite3でwebアプリを作っています。
binding.pryを試しに使ってみようと思い、以下の手順で実行しましたが上手くいきません。
間違っている箇所や考えられる間違え方があれば、ご指摘お願いします。

[binding.pry実行手順]
1.pryをインストール後、Gemファイルにgem 'pry'と、app.rbファイルにrequire 'pry'を追加。
2.bundlerをインストールするために、bundle install --path vendor/bundleを実行。
3.コード内にbinding.pryを追加し、rubyを起動(ruby app.rbを実行)。
4.binding.pryを書いたerbファイルにアクセス。

以上の手順で行いました。ここのサイトを参考に進めました。

ここまでエラーはないのですが、手順4を実行後、ターミナルに参考サイトにあるようなコードの実行内容が表示されませんでした。

[参考サイトの実行結果]このような表示です↓
参考サイトの実行結果
[私の実行結果]↓

% ruby myapp.rb [2021-08-09 21:43:44] INFO WEBrick 1.4.2 [2021-08-09 21:43:44] INFO ruby 2.6.6 (2020-03-31) [x86_64-darwin19] == Sinatra (v2.1.0) has taken the stage on 4567 for development with backup from WEBrick [2021-08-09 21:43:44] INFO WEBrick::HTTPServer#start: pid=10002 port=4567 ::1 - - [09/Aug/2021:21:43:59 +0900] "GET / HTTP/1.1" 200 - 0.0082 ::1 - - [09/Aug/2021:21:43:59 JST] "GET / HTTP/1.1" 200 0 - -> / D, [2021-08-09T21:44:15.825361 #10002] DEBUG -- : (0.9ms) SELECT sqlite_version(*) D, [2021-08-09T21:44:15.825825 #10002] DEBUG -- : Movie Load (0.1ms) SELECT "movies".* FROM "movies" ::1 - - [09/Aug/2021:21:44:15 +0900] "GET /movies HTTP/1.1" 200 123 0.0295 ::1 - - [09/Aug/2021:21:44:15 JST] "GET /movies HTTP/1.1" 200 123 - -> /movies

app.rbの中はこのようになっています。
binding.pryは下の方に記述しています。↓

require 'bundler/setup' require 'sinatra' require 'sinatra/reloader' require 'sinatra/activerecord' require 'pry' class Movie < ActiveRecord::Base; end set :database, {adapter: 'sqlite3', database: 'sample_app.sqlite3'} get '/' do erb :home end get '/hoge' do erb :hogedayo end get '/movies' do @movies = Movie.all erb :'movies/index' end get '/movies/new' do erb :'movies/new' end post '/movies' do binding.pry #ここです!! Movie.create(name: params[:name]) redirect '/movies' end

解決方法がわかる方がいましたら、アドバイスをよろしくお願い致します。

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

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

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

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

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

guest

回答1

0

binding.pry を仕込んでいるのは POST /movies ですが、
ログでは GET /movies にアクセスしてるみたいです。

binding.pry を get "/movies" に仕込むか、
POST /movies にアクセスしましょう。

投稿2021/09/01 08:04

neko_daisuki

総合スコア2090

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問