LoginSignup
0
1

More than 3 years have passed since last update.

初学者のプログラミング ActiveRecord::RecordNotFound (Couldn't find User with 'id'=:id):

Posted at

ユーザー詳細ページを実装しようとしたときのエラー

<%= link_to "点数入力", user_path %>

上記のようにパスを設定し、ユーザー詳細ページに遷移させようとしたところエラーが発生した。エラー文としては、ActionView::Template::Error (No route matches {:action=>"show", :controller=>"users"}, missing required keys: [:id]):
ずっとこのエラーが出て心折れそうだった。

/user/:idのURLにはidを指定する

<%= link_to "点数入力", user_path(@user.id) %>

link_toメソッドでパスを利用するとき、idが必要になる際は、上記のようにインスタンスのidをしてする必要がある。そうすることで、特定のidが指定され、URLが生成される。

参考

確認点1「pathの設定へidが設定されているか」を参考にし、記述を変更したところエラーが修正できた。
お世話になりました!本当にありがとうございました!

まとめ

解決方法を探していた時に、railsのバージョン違いの情報に悩まされた。今後、自身の記事を誰かが見てくれていることを考えて、必ずrails6というバージョンを記載することを意識していこうと思った。

さいごに

プログラミングの初学者です。その日に学んだことを学習の一環としてアウトプットしています。より深く学習していきたいと考えておりますので、内容に誤りがございまいたらご指摘等いただけますと幸いです。

参考図書:パーフェクト Ruby on Rails【増補改訂版】すがわらまさのり/前島真一/橋立友宏/後藤優一/五十嵐邦明 

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1