##ユーザー詳細ページを実装しようとしたときのエラー
<%= 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が生成される。
##参考
https://programming-beginner-zeroichi.jp/articles/45
確認点1「pathの設定へidが設定されているか」を参考にし、記述を変更したところエラーが修正できた。
お世話になりました!本当にありがとうございました!
##まとめ
解決方法を探していた時に、railsのバージョン違いの情報に悩まされた。今後、自身の記事を誰かが見てくれていることを考えて、必ずrails6というバージョンを記載することを意識していこうと思った。
さいごに
プログラミングの初学者です。その日に学んだことを学習の一環としてアウトプットしています。より深く学習していきたいと考えておりますので、内容に誤りがございまいたらご指摘等いただけますと幸いです。
参考図書:パーフェクト Ruby on Rails【増補改訂版】すがわらまさのり/前島真一/橋立友宏/後藤優一/五十嵐邦明