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

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

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

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

Q&A

1回答

1320閲覧

idがないとなります。

kai20000803

総合スコア29

Ruby on Rails

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

0グッド

0クリップ

投稿2020/07/15 14:29

エラー内容

https://gyazo.com/022fa6fcf7c589845c6a9ea9e2f090bb

show.html.erbファイルも載せておきます。
https://gyazo.com/2b42d7f8df8eaf7c482ebace7317a3b5

僕はコードが違うんだと思ったんですがコードは正しいようです。
回答待ってます。

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

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

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

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

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

satoshih

2020/07/15 15:28

> コードは正しいようです。 解決したということですか?
kai20000803

2020/07/15 15:35

そうではなくて、コードの問題ではないと思います。と書きたかったです。 他の問題なのかな?とおもい質問しました。
satoshih

2020/07/15 15:37

画像では判断できませんが 削除する際に削除する対象のidをurlに含めてないからではないでしょうか?
kai20000803

2020/07/15 16:59

削除するとはなんのことですか?
guest

回答1

0

イメージ説明

params["id"] が :id となっているのがエラー原因です。

params["id"] には 1 とか 100 とかの id 番号がこないといけません。
config/routes.rb の設定や、 tasklist の呼び出し URL を確認してみてください。

tasklists?id=1みたいにして呼び出していますか?

投稿2020/07/15 22:05

katoy

総合スコア22324

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

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

kai20000803

2020/07/16 04:01

教科書にはparams[:id]とあるんですがどうですか? それでうまく行ってきたんですが、他に原因があったりしませんか?
maisumakun

2020/07/16 04:05

> それでうまく行ってきたんですが、他に原因があったりしませんか? このページに遷移するためのリンクはどの様になっていますか?
kai20000803

2020/07/16 04:09

それはどういう意味ですか?もう少し簡単にお願いします。
maisumakun

2020/07/16 04:11

このエラーが出るページは、どのようにして表示しましたか?
kai20000803

2020/07/16 04:12

rails s をしてpreviewをしました。
maisumakun

2020/07/16 04:14

「ブラウザにURLを入力した」、あるいは「他のページからリンクをたどった」、どちらでしょうか?
kai20000803

2020/07/16 04:16

ぶらうざにURLを入力していないので後者だと思います。
maisumakun

2020/07/16 04:17

では、リンク元の方のコードを確認してください。
kai20000803

2020/07/16 04:20

消去法で後者だと思ったのですが、他のページからリンクをたどるとはどういうことですか?
maisumakun

2020/07/16 04:20

(このエラーは、「呼び出したURLが適切でない」ことによって起こっているものです)
maisumakun

2020/07/16 04:21

> 消去法で後者だと思ったのですが、他のページからリンクをたどるとはどういうことですか? えっと、どうやってブラウザでそのページを表示したのですか?(ブラウザ上で何かしらの操作をしていますよね?)
maisumakun

2020/07/16 04:27 編集

編集を行っているのは何の環境でしょうか?
maisumakun

2020/07/16 04:28

いずれにしろ、「表示されるURLが正しくない」ので、自分でブラウザにURLを打ち込むなり、サイト内のリンクをたどるなり、別な方法でアクセスしましょう。
kai20000803

2020/07/16 04:29

表示されるURLが正しくないというのはAWSがバグを起こしているということですか?
maisumakun

2020/07/16 04:32

> 表示されるURLが正しくないというのはAWSがバグを起こしているということですか? そのプレビューボタンが、単に「今の場面に合わない」ということだと考えます。
kai20000803

2020/07/16 05:42

検索しても出てこなかったので質問します。 ブラウザから動作確認をする方法を教えてください。
maisumakun

2020/07/16 05:45

ブラウザにURLを打ち込んでください。
kai20000803

2020/07/16 06:37

rails s をするとこんな風になってました。 => Booting Puma => Rails 5.2.4.3 application starting in development => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.12.6 (ruby 2.5.3-p105), codename: Llamas in Pajamas * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://localhost:8080 Use Ctrl-C to stop Started GET "/" for 126.245.73.242 at 2020-07-16 04:02:35 +0000 Cannot render console from 126.245.73.242! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 (6.8ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483 ↳ /home/ec2-user/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 (0.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC ↳ /home/ec2-user/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 Processing by TasksController#index as HTML Rendering tasks/index.html.erb within layouts/application User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IS NULL LIMIT 1 ↳ app/helpers/sessions_helper.rb:3 Rendered tasks/index.html.erb within layouts/application (14.6ms) Rendered layouts/_flash_messages.html.erb (0.4ms) Completed 200 OK in 252ms (Views: 232.6ms | ActiveRecord: 1.5ms) Started GET "/" for 126.245.73.242 at 2020-07-16 04:02:36 +0000 Cannot render console from 126.245.73.242! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by TasksController#index as HTML Rendering tasks/index.html.erb within layouts/application User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IS NULL LIMIT 1 ↳ app/helpers/sessions_helper.rb:3 Rendered tasks/index.html.erb within layouts/application (2.2ms) Rendered layouts/_flash_messages.html.erb (0.4ms) Completed 200 OK in 21ms (Views: 20.0ms | ActiveRecord: 0.2ms) Started GET "/tasks/:id" for 126.245.73.242 at 2020-07-16 04:03:46 +0000 Cannot render console from 126.245.73.242! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by TasksController#show as HTML Parameters: {"id"=>":id"} Task Load (0.2ms) SELECT `tasks`.* FROM `tasks` WHERE `tasks`.`id` = 0 LIMIT 1 ↳ app/controllers/tasks_controller.rb:7 Completed 404 Not Found in 5ms (ActiveRecord: 2.0ms) ActiveRecord::RecordNotFound (Couldn't find Task with 'id'=:id): app/controllers/tasks_controller.rb:7:in `show' Started GET "/tasks" for 126.245.73.242 at 2020-07-16 04:30:05 +0000 Cannot render console from 126.245.73.242! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 (0.2ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483 ↳ /home/ec2-user/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 Processing by TasksController#index as HTML Rendering tasks/index.html.erb within layouts/application User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IS NULL LIMIT 1 ↳ app/helpers/sessions_helper.rb:3 Rendered tasks/index.html.erb within layouts/application (5.0ms) Rendered layouts/_flash_messages.html.erb (0.3ms) Completed 200 OK in 23ms (Views: 20.1ms | ActiveRecord: 0.6ms) Started GET "/tasks/:id" for 126.245.73.242 at 2020-07-16 04:30:31 +0000 Cannot render console from 126.245.73.242! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by TasksController#show as HTML Parameters: {"id"=>":id"} Task Load (0.2ms) SELECT `tasks`.* FROM `tasks` WHERE `tasks`.`id` = 0 LIMIT 1 ↳ app/controllers/tasks_controller.rb:7 Completed 404 Not Found in 4ms (ActiveRecord: 1.2ms) ActiveRecord::RecordNotFound (Couldn't find Task with 'id'=:id): app/controllers/tasks_controller.rb:7:in `show' Started GET "/" for 126.245.73.242 at 2020-07-16 06:09:02 +0000 Cannot render console from 126.245.73.242! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 (3.8ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483 ↳ /home/ec2-user/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 SyntaxError (/home/ec2-user/environment/tasklist/app/controllers/tasks_controller.rb:60: syntax error, unexpected end-of-input, expecting keyword_end): app/controllers/tasks_controller.rb:60: syntax error, unexpected end-of-input, expecting keyword_end これはどういうことなんでしょうか?
katoy

2020/07/16 09:30

SyntaxError (/home/ec2-user/environment/tasklist/app/controllers/tasks_controller.rb:60: とあるので、 tasks_controller.rb: 60:行目付近を調べてみてください。 単体テストを書いていますか?書いていなければtasks_controller.rb のテストを書いてみてください。 あるいは 60:行目付近を含むメソッドを単純(別ベージに redirect するだけた にしてエラー発生回避できることがわかれば、そのメソッドの書き方が問題があることになります。ともかく問題を絞り込んでいってみてください.。
kai20000803

2020/07/16 09:33

単体テストやテストとは何ですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問